Imported Upstream version 3.4.1
authorHyunjee Kim <hj0426.kim@samsung.com>
Thu, 31 Jan 2019 01:48:41 +0000 (10:48 +0900)
committerHyunjee Kim <hj0426.kim@samsung.com>
Thu, 31 Jan 2019 01:49:03 +0000 (10:49 +0900)
Change-Id: I3b5958f708ce8bc234f6db8313da83c332b30616
Signed-off-by: Hyunjee Kim <hj0426.kim@samsung.com>
435 files changed:
CHANGES.txt
PKG-INFO
doc/api.txt
doc/html/FAQ.html
doc/html/api.html
doc/html/api/abc.ABCMeta-class.html
doc/html/api/api-objects.txt
doc/html/api/class-tree.html
doc/html/api/cssselect.parser.SelectorError-class.html
doc/html/api/cssselect.parser.SelectorSyntaxError-class.html
doc/html/api/cssselect.xpath.ExpressionError-class.html
doc/html/api/cssselect.xpath.XPathExpr-class.html
doc/html/api/deprecated-index.html
doc/html/api/exceptions.AssertionError-class.html
doc/html/api/help.html
doc/html/api/identifier-index-A.html
doc/html/api/identifier-index-B.html
doc/html/api/identifier-index-C.html
doc/html/api/identifier-index-D.html
doc/html/api/identifier-index-E.html
doc/html/api/identifier-index-F.html
doc/html/api/identifier-index-G.html
doc/html/api/identifier-index-H.html
doc/html/api/identifier-index-I.html
doc/html/api/identifier-index-J.html
doc/html/api/identifier-index-K.html
doc/html/api/identifier-index-L.html
doc/html/api/identifier-index-M.html
doc/html/api/identifier-index-N.html
doc/html/api/identifier-index-O.html
doc/html/api/identifier-index-P.html
doc/html/api/identifier-index-Q.html
doc/html/api/identifier-index-R.html
doc/html/api/identifier-index-S.html
doc/html/api/identifier-index-T.html
doc/html/api/identifier-index-U.html
doc/html/api/identifier-index-V.html
doc/html/api/identifier-index-W.html
doc/html/api/identifier-index-X.html
doc/html/api/identifier-index-Y.html
doc/html/api/identifier-index-Z.html
doc/html/api/identifier-index-_.html
doc/html/api/identifier-index.html
doc/html/api/lxml-module.html
doc/html/api/lxml-pysrc.html
doc/html/api/lxml.ElementInclude-module.html
doc/html/api/lxml.ElementInclude-pysrc.html
doc/html/api/lxml.ElementInclude.FatalIncludeError-class.html
doc/html/api/lxml.builder-module.html
doc/html/api/lxml.builder-pysrc.html
doc/html/api/lxml.builder.ElementMaker-class.html
doc/html/api/lxml.cssselect-module.html
doc/html/api/lxml.cssselect-pysrc.html
doc/html/api/lxml.cssselect.CSSSelector-class.html
doc/html/api/lxml.cssselect.LxmlHTMLTranslator-class.html
doc/html/api/lxml.cssselect.LxmlTranslator-class.html
doc/html/api/lxml.doctestcompare-module.html
doc/html/api/lxml.doctestcompare-pysrc.html
doc/html/api/lxml.doctestcompare.LHTMLOutputChecker-class.html
doc/html/api/lxml.doctestcompare.LXMLOutputChecker-class.html
doc/html/api/lxml.doctestcompare._RestoreChecker-class.html
doc/html/api/lxml.etree-module.html
doc/html/api/lxml.etree.AncestorsIterator-class.html
doc/html/api/lxml.etree.AttributeBasedElementClassLookup-class.html
doc/html/api/lxml.etree.C14NError-class.html
doc/html/api/lxml.etree.CDATA-class.html
doc/html/api/lxml.etree.CommentBase-class.html
doc/html/api/lxml.etree.CustomElementClassLookup-class.html
doc/html/api/lxml.etree.DTD-class.html
doc/html/api/lxml.etree.DTDError-class.html
doc/html/api/lxml.etree.DTDParseError-class.html
doc/html/api/lxml.etree.DTDValidateError-class.html
doc/html/api/lxml.etree.DocInfo-class.html
doc/html/api/lxml.etree.DocumentInvalid-class.html
doc/html/api/lxml.etree.ETCompatXMLParser-class.html
doc/html/api/lxml.etree.ETXPath-class.html
doc/html/api/lxml.etree.ElementBase-class.html
doc/html/api/lxml.etree.ElementChildIterator-class.html
doc/html/api/lxml.etree.ElementClassLookup-class.html
doc/html/api/lxml.etree.ElementDefaultClassLookup-class.html
doc/html/api/lxml.etree.ElementDepthFirstIterator-class.html
doc/html/api/lxml.etree.ElementNamespaceClassLookup-class.html
doc/html/api/lxml.etree.ElementTextIterator-class.html
doc/html/api/lxml.etree.EntityBase-class.html
doc/html/api/lxml.etree.Error-class.html
doc/html/api/lxml.etree.ErrorDomains-class.html
doc/html/api/lxml.etree.ErrorLevels-class.html
doc/html/api/lxml.etree.ErrorTypes-class.html
doc/html/api/lxml.etree.FallbackElementClassLookup-class.html
doc/html/api/lxml.etree.HTMLParser-class.html
doc/html/api/lxml.etree.HTMLPullParser-class.html
doc/html/api/lxml.etree.LxmlError-class.html
doc/html/api/lxml.etree.LxmlRegistryError-class.html
doc/html/api/lxml.etree.LxmlSyntaxError-class.html
doc/html/api/lxml.etree.NamespaceRegistryError-class.html
doc/html/api/lxml.etree.PIBase-class.html
doc/html/api/lxml.etree.ParseError-class.html
doc/html/api/lxml.etree.ParserBasedElementClassLookup-class.html
doc/html/api/lxml.etree.ParserError-class.html
doc/html/api/lxml.etree.PyErrorLog-class.html
doc/html/api/lxml.etree.PythonElementClassLookup-class.html
doc/html/api/lxml.etree.QName-class.html
doc/html/api/lxml.etree.RelaxNG-class.html
doc/html/api/lxml.etree.RelaxNGError-class.html
doc/html/api/lxml.etree.RelaxNGErrorTypes-class.html
doc/html/api/lxml.etree.RelaxNGParseError-class.html
doc/html/api/lxml.etree.RelaxNGValidateError-class.html
doc/html/api/lxml.etree.Resolver-class.html
doc/html/api/lxml.etree.Schematron-class.html
doc/html/api/lxml.etree.SchematronError-class.html
doc/html/api/lxml.etree.SchematronParseError-class.html
doc/html/api/lxml.etree.SchematronValidateError-class.html
doc/html/api/lxml.etree.SerialisationError-class.html
doc/html/api/lxml.etree.SiblingsIterator-class.html
doc/html/api/lxml.etree.TreeBuilder-class.html
doc/html/api/lxml.etree.XInclude-class.html
doc/html/api/lxml.etree.XIncludeError-class.html
doc/html/api/lxml.etree.XMLParser-class.html
doc/html/api/lxml.etree.XMLPullParser-class.html
doc/html/api/lxml.etree.XMLSchema-class.html
doc/html/api/lxml.etree.XMLSchemaError-class.html
doc/html/api/lxml.etree.XMLSchemaParseError-class.html
doc/html/api/lxml.etree.XMLSchemaValidateError-class.html
doc/html/api/lxml.etree.XMLSyntaxError-class.html
doc/html/api/lxml.etree.XPath-class.html
doc/html/api/lxml.etree.XPathDocumentEvaluator-class.html
doc/html/api/lxml.etree.XPathElementEvaluator-class.html
doc/html/api/lxml.etree.XPathError-class.html
doc/html/api/lxml.etree.XPathEvalError-class.html
doc/html/api/lxml.etree.XPathFunctionError-class.html
doc/html/api/lxml.etree.XPathResultError-class.html
doc/html/api/lxml.etree.XPathSyntaxError-class.html
doc/html/api/lxml.etree.XSLT-class.html
doc/html/api/lxml.etree.XSLTAccessControl-class.html
doc/html/api/lxml.etree.XSLTApplyError-class.html
doc/html/api/lxml.etree.XSLTError-class.html
doc/html/api/lxml.etree.XSLTExtension-class.html
doc/html/api/lxml.etree.XSLTExtensionError-class.html
doc/html/api/lxml.etree.XSLTParseError-class.html
doc/html/api/lxml.etree.XSLTSaveError-class.html
doc/html/api/lxml.etree._Attrib-class.html
doc/html/api/lxml.etree._BaseErrorLog-class.html
doc/html/api/lxml.etree._Comment-class.html
doc/html/api/lxml.etree._Document-class.html
doc/html/api/lxml.etree._DomainErrorLog-class.html
doc/html/api/lxml.etree._Element-class.html
doc/html/api/lxml.etree._ElementIterator-class.html
doc/html/api/lxml.etree._ElementMatchIterator-class.html
doc/html/api/lxml.etree._ElementStringResult-class.html
doc/html/api/lxml.etree._ElementTagMatcher-class.html
doc/html/api/lxml.etree._ElementTree-class.html
doc/html/api/lxml.etree._ElementUnicodeResult-class.html
doc/html/api/lxml.etree._Entity-class.html
doc/html/api/lxml.etree._ErrorLog-class.html
doc/html/api/lxml.etree._FeedParser-class.html
doc/html/api/lxml.etree._IDDict-class.html
doc/html/api/lxml.etree._ListErrorLog-class.html
doc/html/api/lxml.etree._LogEntry-class.html
doc/html/api/lxml.etree._ProcessingInstruction-class.html
doc/html/api/lxml.etree._RotatingErrorLog-class.html
doc/html/api/lxml.etree._SaxParserTarget-class.html
doc/html/api/lxml.etree._TargetParserResult-class.html
doc/html/api/lxml.etree._Validator-class.html
doc/html/api/lxml.etree._XPathEvaluatorBase-class.html
doc/html/api/lxml.etree._XSLTProcessingInstruction-class.html
doc/html/api/lxml.etree._XSLTResultTree-class.html
doc/html/api/lxml.etree.htmlfile-class.html [new file with mode: 0644]
doc/html/api/lxml.etree.iterparse-class.html
doc/html/api/lxml.etree.iterwalk-class.html
doc/html/api/lxml.etree.xmlfile-class.html
doc/html/api/lxml.html-module.html
doc/html/api/lxml.html-pysrc.html
doc/html/api/lxml.html.CheckboxGroup-class.html
doc/html/api/lxml.html.CheckboxValues-class.html
doc/html/api/lxml.html.ElementSoup-module.html
doc/html/api/lxml.html.ElementSoup-pysrc.html
doc/html/api/lxml.html.FieldsDict-class.html
doc/html/api/lxml.html.FormElement-class.html
doc/html/api/lxml.html.HTMLParser-class.html
doc/html/api/lxml.html.HtmlComment-class.html
doc/html/api/lxml.html.HtmlElement-class.html
doc/html/api/lxml.html.HtmlElementClassLookup-class.html
doc/html/api/lxml.html.HtmlEntity-class.html
doc/html/api/lxml.html.HtmlMixin-class.html
doc/html/api/lxml.html.HtmlProcessingInstruction-class.html
doc/html/api/lxml.html.InputElement-class.html
doc/html/api/lxml.html.InputGetter-class.html
doc/html/api/lxml.html.InputMixin-class.html
doc/html/api/lxml.html.LabelElement-class.html
doc/html/api/lxml.html.MultipleSelectOptions-class.html
doc/html/api/lxml.html.RadioGroup-class.html
doc/html/api/lxml.html.SelectElement-class.html
doc/html/api/lxml.html.TextareaElement-class.html
doc/html/api/lxml.html.XHTMLParser-class.html
doc/html/api/lxml.html._MethodFunc-class.html
doc/html/api/lxml.html.builder-module.html
doc/html/api/lxml.html.builder-pysrc.html
doc/html/api/lxml.html.clean-module.html
doc/html/api/lxml.html.clean-pysrc.html
doc/html/api/lxml.html.clean.Cleaner-class.html
doc/html/api/lxml.html.defs-module.html
doc/html/api/lxml.html.defs-pysrc.html
doc/html/api/lxml.html.diff-module.html
doc/html/api/lxml.html.diff-pysrc.html
doc/html/api/lxml.html.diff.DEL_END-class.html
doc/html/api/lxml.html.diff.DEL_START-class.html
doc/html/api/lxml.html.diff.InsensitiveSequenceMatcher-class.html
doc/html/api/lxml.html.diff.NoDeletes-class.html
doc/html/api/lxml.html.diff.href_token-class.html
doc/html/api/lxml.html.diff.tag_token-class.html
doc/html/api/lxml.html.diff.token-class.html
doc/html/api/lxml.html.formfill-module.html
doc/html/api/lxml.html.formfill-pysrc.html
doc/html/api/lxml.html.formfill.DefaultErrorCreator-class.html
doc/html/api/lxml.html.formfill.FormNotFound-class.html
doc/html/api/lxml.html.html5parser-module.html
doc/html/api/lxml.html.html5parser-pysrc.html
doc/html/api/lxml.html.html5parser.HTMLParser-class.html
doc/html/api/lxml.html.html5parser.XHTMLParser-class.html
doc/html/api/lxml.html.soupparser-module.html
doc/html/api/lxml.html.soupparser-pysrc.html
doc/html/api/lxml.html.usedoctest-module.html
doc/html/api/lxml.html.usedoctest-pysrc.html
doc/html/api/lxml.includes-module.html
doc/html/api/lxml.includes-pysrc.html
doc/html/api/lxml.isoschematron-module.html
doc/html/api/lxml.isoschematron-pysrc.html
doc/html/api/lxml.isoschematron.Schematron-class.html
doc/html/api/lxml.objectify-module.html
doc/html/api/lxml.objectify.BoolElement-class.html
doc/html/api/lxml.objectify.ElementMaker-class.html
doc/html/api/lxml.objectify.FloatElement-class.html
doc/html/api/lxml.objectify.IntElement-class.html
doc/html/api/lxml.objectify.LongElement-class.html
doc/html/api/lxml.objectify.NoneElement-class.html
doc/html/api/lxml.objectify.NumberElement-class.html
doc/html/api/lxml.objectify.ObjectPath-class.html
doc/html/api/lxml.objectify.ObjectifiedDataElement-class.html
doc/html/api/lxml.objectify.ObjectifiedElement-class.html
doc/html/api/lxml.objectify.ObjectifyElementClassLookup-class.html
doc/html/api/lxml.objectify.PyType-class.html
doc/html/api/lxml.objectify.StringElement-class.html
doc/html/api/lxml.pyclasslookup-module.html
doc/html/api/lxml.pyclasslookup-pysrc.html
doc/html/api/lxml.sax-module.html
doc/html/api/lxml.sax-pysrc.html
doc/html/api/lxml.sax.ElementTreeContentHandler-class.html
doc/html/api/lxml.sax.ElementTreeProducer-class.html
doc/html/api/lxml.sax.SaxError-class.html
doc/html/api/lxml.tests-module.html
doc/html/api/lxml.tests-pysrc.html
doc/html/api/lxml.tests.common_imports-module.html
doc/html/api/lxml.tests.common_imports-pysrc.html
doc/html/api/lxml.tests.common_imports.HelperTestCase-class.html
doc/html/api/lxml.tests.common_imports.LargeFileLike-class.html
doc/html/api/lxml.tests.common_imports.LargeFileLikeUnicode-class.html
doc/html/api/lxml.tests.common_imports.SillyFileLike-class.html
doc/html/api/lxml.tests.dummy_http_server-module.html
doc/html/api/lxml.tests.dummy_http_server-pysrc.html
doc/html/api/lxml.tests.dummy_http_server.HTTPRequestCollector-class.html
doc/html/api/lxml.tests.dummy_http_server.WebServer-class.html
doc/html/api/lxml.tests.dummy_http_server._RequestHandler-class.html
doc/html/api/lxml.tests.test_builder-module.html
doc/html/api/lxml.tests.test_builder-pysrc.html
doc/html/api/lxml.tests.test_builder.BuilderTestCase-class.html
doc/html/api/lxml.tests.test_classlookup-module.html
doc/html/api/lxml.tests.test_classlookup-pysrc.html
doc/html/api/lxml.tests.test_classlookup.ClassLookupTestCase-class.html
doc/html/api/lxml.tests.test_classlookup.ProxyTestCase-class.html
doc/html/api/lxml.tests.test_css-module.html
doc/html/api/lxml.tests.test_css-pysrc.html
doc/html/api/lxml.tests.test_css.CSSTestCase-class.html
doc/html/api/lxml.tests.test_doctestcompare-module.html
doc/html/api/lxml.tests.test_doctestcompare-pysrc.html
doc/html/api/lxml.tests.test_doctestcompare.DoctestCompareTest-class.html
doc/html/api/lxml.tests.test_doctestcompare.DummyInput-class.html
doc/html/api/lxml.tests.test_dtd-module.html
doc/html/api/lxml.tests.test_dtd-pysrc.html
doc/html/api/lxml.tests.test_dtd.ETreeDtdTestCase-class.html
doc/html/api/lxml.tests.test_elementtree-module.html
doc/html/api/lxml.tests.test_elementtree-pysrc.html
doc/html/api/lxml.tests.test_elementtree.CElementTreeTestCase-class.html
doc/html/api/lxml.tests.test_elementtree.ETreePullTestCase-class.html
doc/html/api/lxml.tests.test_elementtree.ETreeTestCase-class.html
doc/html/api/lxml.tests.test_elementtree.ElementTreeTestCase-class.html
doc/html/api/lxml.tests.test_elementtree._ETreeTestCaseBase-class.html
doc/html/api/lxml.tests.test_elementtree._XMLPullParserTest-class.html
doc/html/api/lxml.tests.test_errors-module.html
doc/html/api/lxml.tests.test_errors-pysrc.html
doc/html/api/lxml.tests.test_errors.ErrorTestCase-class.html
doc/html/api/lxml.tests.test_etree-module.html
doc/html/api/lxml.tests.test_etree-pysrc.html
doc/html/api/lxml.tests.test_etree.ETreeC14NTestCase-class.html
doc/html/api/lxml.tests.test_etree.ETreeErrorLogTest-class.html
doc/html/api/lxml.tests.test_etree.ETreeOnlyTestCase-class.html
doc/html/api/lxml.tests.test_etree.ETreeWriteTestCase-class.html
doc/html/api/lxml.tests.test_etree.ETreeXIncludeTestCase-class.html
doc/html/api/lxml.tests.test_etree.ElementIncludeTestCase-class.html
doc/html/api/lxml.tests.test_etree.XMLPullParserTest-class.html
doc/html/api/lxml.tests.test_etree._XIncludeTestCase-class.html
doc/html/api/lxml.tests.test_htmlparser-module.html
doc/html/api/lxml.tests.test_htmlparser-pysrc.html
doc/html/api/lxml.tests.test_htmlparser.HtmlParserTestCase-class.html
doc/html/api/lxml.tests.test_http_io-module.html
doc/html/api/lxml.tests.test_http_io-pysrc.html
doc/html/api/lxml.tests.test_http_io.HttpIOTestCase-class.html
doc/html/api/lxml.tests.test_incremental_xmlfile-module.html
doc/html/api/lxml.tests.test_incremental_xmlfile-pysrc.html
doc/html/api/lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html
doc/html/api/lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html [new file with mode: 0644]
doc/html/api/lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html
doc/html/api/lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html
doc/html/api/lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html
doc/html/api/lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html
doc/html/api/lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html
doc/html/api/lxml.tests.test_io-module.html
doc/html/api/lxml.tests.test_io-pysrc.html
doc/html/api/lxml.tests.test_io.ETreeIOTestCase-class.html
doc/html/api/lxml.tests.test_io.ElementTreeIOTestCase-class.html
doc/html/api/lxml.tests.test_io._IOTestCaseBase-class.html
doc/html/api/lxml.tests.test_isoschematron-module.html
doc/html/api/lxml.tests.test_isoschematron-pysrc.html
doc/html/api/lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html
doc/html/api/lxml.tests.test_nsclasses-module.html
doc/html/api/lxml.tests.test_nsclasses-pysrc.html
doc/html/api/lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html
doc/html/api/lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.bluff_class-class.html
doc/html/api/lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.default_class-class.html
doc/html/api/lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.maeh_class-class.html
doc/html/api/lxml.tests.test_objectify-module.html
doc/html/api/lxml.tests.test_objectify-pysrc.html
doc/html/api/lxml.tests.test_objectify.ObjectifyTestCase-class.html
doc/html/api/lxml.tests.test_pyclasslookup-module.html
doc/html/api/lxml.tests.test_pyclasslookup-pysrc.html
doc/html/api/lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html
doc/html/api/lxml.tests.test_relaxng-module.html
doc/html/api/lxml.tests.test_relaxng-pysrc.html
doc/html/api/lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html
doc/html/api/lxml.tests.test_sax-module.html
doc/html/api/lxml.tests.test_sax-pysrc.html
doc/html/api/lxml.tests.test_sax.ETreeSaxTestCase-class.html
doc/html/api/lxml.tests.test_schematron-module.html
doc/html/api/lxml.tests.test_schematron-pysrc.html
doc/html/api/lxml.tests.test_schematron.ETreeSchematronTestCase-class.html
doc/html/api/lxml.tests.test_threading-module.html
doc/html/api/lxml.tests.test_threading-pysrc.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase-class.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker-class.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-class.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-class.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker-class.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-class.html
doc/html/api/lxml.tests.test_threading.ThreadPipelineTestCase.Worker-class.html
doc/html/api/lxml.tests.test_threading.ThreadingTestCase-class.html
doc/html/api/lxml.tests.test_unicode-module.html
doc/html/api/lxml.tests.test_unicode-pysrc.html
doc/html/api/lxml.tests.test_unicode.EncodingsTestCase-class.html
doc/html/api/lxml.tests.test_unicode.UnicodeTestCase-class.html
doc/html/api/lxml.tests.test_xmlschema-module.html
doc/html/api/lxml.tests.test_xmlschema-pysrc.html
doc/html/api/lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html
doc/html/api/lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html
doc/html/api/lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-class.html
doc/html/api/lxml.tests.test_xpathevaluator-module.html
doc/html/api/lxml.tests.test_xpathevaluator-pysrc.html
doc/html/api/lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html
doc/html/api/lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-class.html
doc/html/api/lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-class.html
doc/html/api/lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html
doc/html/api/lxml.tests.test_xslt-module.html
doc/html/api/lxml.tests.test_xslt-pysrc.html
doc/html/api/lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html
doc/html/api/lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html
doc/html/api/lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html
doc/html/api/lxml.tests.test_xslt.ETreeXSLTTestCase-class.html
doc/html/api/lxml.tests.test_xslt.Py3XSLTTestCase-class.html
doc/html/api/lxml.usedoctest-module.html
doc/html/api/lxml.usedoctest-pysrc.html
doc/html/api/mimetools.Message-class.html
doc/html/api/module-tree.html
doc/html/api/redirect.html
doc/html/api/str-class.html
doc/html/api/toc-everything.html
doc/html/api/toc-lxml.etree-module.html
doc/html/api/toc-lxml.tests.test_incremental_xmlfile-module.html
doc/html/api/xml.etree.ElementTree-module.html
doc/html/api/xml.etree.ElementTree-pysrc.html
doc/html/api/xml.etree.ElementTree.Element-class.html
doc/html/api/xml.etree.ElementTree.ElementTree-class.html
doc/html/api/xml.etree.ElementTree.ParseError-class.html
doc/html/api/xml.etree.ElementTree.QName-class.html
doc/html/api/xml.etree.ElementTree.TreeBuilder-class.html
doc/html/api/xml.etree.ElementTree.XMLParser-class.html
doc/html/api/xml.etree.ElementTree._IterParseIterator-class.html
doc/html/api/xml.etree.ElementTree._SimpleElementPath-class.html
doc/html/build.html
doc/html/capi.html
doc/html/changes-3.4.0.html [deleted file]
doc/html/changes-3.4.1.html [new file with mode: 0644]
doc/html/compatibility.html
doc/html/credits.html
doc/html/cssselect.html
doc/html/element_classes.html
doc/html/elementsoup.html
doc/html/extensions.html
doc/html/html5parser.html
doc/html/index.html
doc/html/installation.html
doc/html/intro.html
doc/html/lxml-source-howto.html
doc/html/lxmlhtml.html
doc/html/objectify.html
doc/html/parsing.html
doc/html/performance.html
doc/html/resolvers.html
doc/html/sax.html
doc/html/sitemap.html
doc/html/tutorial.html
doc/html/validation.html
doc/html/xpathxslt.html
doc/main.txt
doc/tutorial.txt
setupinfo.py
src/lxml.egg-info/PKG-INFO
src/lxml.egg-info/SOURCES.txt
src/lxml/includes/lxml-version.h
src/lxml/lxml.etree.c
src/lxml/lxml.objectify.c
src/lxml/sax.py
src/lxml/serializer.pxi
src/lxml/tests/test_elementtree.py
src/lxml/tests/test_etree.py
src/lxml/tests/test_incremental_xmlfile.py
src/lxml/tests/test_sax.py
version.txt

index a6a841b6cd9ff1f79f443aba6c9b38d206a0c373..057375c7b865288de1033df477589b3b229b0fe1 100644 (file)
@@ -2,6 +2,21 @@
 lxml changelog
 ==============
 
+3.4.1 (2014-11-20)
+==================
+
+Features added
+--------------
+
+* New ``htmlfile`` HTML generator to accompany the incremental ``xmlfile``
+  serialisation API.  Patch by Burak Arslan.
+
+Bugs fixed
+----------
+
+* ``lxml.sax.ElementTreeContentHandler`` did not initialise its superclass.
+
+
 3.4.0 (2014-09-10)
 ==================
 
index 3dbe44b2fb9cf383a6ec52aea527ce162ed52944..908e33c5bd5e11eb5be3046496989e0ecaa87be7 100644 (file)
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: lxml
-Version: 3.4.0
+Version: 3.4.1
 Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
 Home-page: http://lxml.de/
 Author: lxml dev team
 Author-email: lxml-dev@lxml.de
 License: UNKNOWN
-Download-URL: http://pypi.python.org/packages/source/l/lxml/lxml-3.4.0.tar.gz
+Download-URL: http://pypi.python.org/packages/source/l/lxml/lxml-3.4.1.tar.gz
 Description: lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries.  It
         provides safe and convenient access to these libraries using the ElementTree
         API.
@@ -37,56 +37,19 @@ Description: lxml is a Pythonic, mature binding for the libxml2 and libxslt libr
         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.4.0 (2014-09-10)
+        3.4.1 (2014-11-20)
         ==================
         
         Features added
         --------------
         
-        * ``xmlfile(buffered=False)`` disables output buffering and flushes the
-          content after each API operation (starting/ending element blocks or writes).
-          A new method ``xf.flush()`` can alternatively be used to explicitly flush
-          the output.
-        
-        * ``lxml.html.document_fromstring`` has a new option ``ensure_head_body=True``
-          which will add an empty head and/or body element to the result document if
-          missing.
-        
-        * ``lxml.html.iterlinks`` now returns links inside meta refresh tags.
-        
-        * New ``XMLParser`` option ``collect_ids=False`` to disable ID hash table
-          creation.  This can substantially speed up parsing of documents with many
-          different IDs that are not used.
-        
-        * The parser uses per-document hash tables for XML IDs.  This reduces the
-          load of the global parser dict and speeds up parsing for documents with
-          many different IDs.
-        
-        * ``ElementTree.getelementpath(element)`` returns a structural ElementPath
-          expression for the given element, which can be used for lookups later.
-        
-        * ``xmlfile()`` accepts a new argument ``close=True`` to close file(-like)
-          objects after writing to them.  Before, ``xmlfile()`` only closed the file
-          if it had opened it internally.
-        
-        * Allow "bytearray" type for ASCII text input.
+        * New ``htmlfile`` HTML generator to accompany the incremental ``xmlfile``
+          serialisation API.  Patch by Burak Arslan.
         
         Bugs fixed
         ----------
         
-        Other changes
-        -------------
-        
-        * LP#400588: decoding errors have become hard errors even in recovery mode.
-          Previously, they could lead to an internal tree representation in a mixed
-          encoding state, which lead to very late errors or even silently incorrect
-          behaviour during tree traversal or serialisation.
-        
-        * Requires Python 2.6, 2.7, 3.2 or later. No longer supports
-          Python 2.4, 2.5 and 3.1, use lxml 3.3.x for those.
-        
-        * Requires libxml2 2.7.0 or later and libxslt 1.1.23 or later,
-          use lxml 3.3.x with older versions.
+        * ``lxml.sax.ElementTreeContentHandler`` did not initialise its superclass.
         
         
         
index 45978e0a4ea7be51a3c90cfced72afbd9e3cd33b..4b0fdb7a2d743218b7a7328a6191d92e1c3f1ce3 100644 (file)
@@ -38,9 +38,9 @@ lxml is extremely extensible through `XPath functions in Python`_, custom
    6   Error logging
    7   Serialisation
    8   Incremental XML generation
-   8   CDATA
-     XInclude and ElementInclude
-   10  write_c14n on ElementTree
+   9   CDATA
+   10  XInclude and ElementInclude
+   11  write_c14n on ElementTree
 
 ..
   >>> from io import BytesIO
@@ -463,17 +463,18 @@ correct doctype format, including the name of the root node.
 Incremental XML generation
 --------------------------
 
-Since version 3.1, lxml has an API for incrementally generating XML
-using the ``with`` statement.  It's main purpose is to freely and
-safely mix surrounding elements with pre-built in-memory trees, e.g.
-to write out large documents that consist mostly of repetitive
-subtrees (like database dumps).  But it can be useful in many cases
-where memory consumption matters or where XML is naturally generated
-sequentially.
-
-The API can serialise to real files (also given as file paths) as
-well as file-like objects, e.g. ``io.BytesIO()``.  Here is a simple
-example::
+Since version 3.1, lxml provides an ``xmlfile`` API for incrementally
+generating XML using the ``with`` statement.  It's main purpose is to
+freely and safely mix surrounding elements with pre-built in-memory
+trees, e.g. to write out large documents that consist mostly of
+repetitive subtrees (like database dumps).  But it can be useful in
+many cases where memory consumption matters or where XML is naturally
+generated in sequential steps.  Since lxml 3.4.1, there is an equivalent
+context manager for HTML serialisation called ``htmlfile``.
+
+The API can serialise to real files (given as file path or file
+object), as well as file-like objects, e.g. ``io.BytesIO()``.
+Here is a simple example::
 
   >>> f = BytesIO()
   >>> with etree.xmlfile(f) as xf:
index 45211ea3a53849ee2dc8ae86c710c4bc92cd458b..4c33a7b19fa81e93d1f53edb90df5c037103c0b1 100644 (file)
@@ -10,7 +10,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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>
@@ -935,7 +935,7 @@ map it to your namespace.  See also the question above.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index e625ff9e4af18a1a6d429538648984e78e2cc7e5..0582a50ec759bb575c3f2e3ee7403fcc498c62e5 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -327,16 +327,17 @@ correct doctype format, including the name of the root node.</p>
 </div>
 <div class="section" id="incremental-xml-generation">
 <h1>Incremental XML generation</h1>
-<p>Since version 3.1, lxml has an API for incrementally generating XML
-using the <tt class="docutils literal">with</tt> statement.  It's main purpose is to freely and
-safely mix surrounding elements with pre-built in-memory trees, e.g.
-to write out large documents that consist mostly of repetitive
-subtrees (like database dumps).  But it can be useful in many cases
-where memory consumption matters or where XML is naturally generated
-sequentially.</p>
-<p>The API can serialise to real files (also given as file paths) as
-well as file-like objects, e.g. <tt class="docutils literal">io.BytesIO()</tt>.  Here is a simple
-example:</p>
+<p>Since version 3.1, lxml provides an <tt class="docutils literal">xmlfile</tt> API for incrementally
+generating XML using the <tt class="docutils literal">with</tt> statement.  It's main purpose is to
+freely and safely mix surrounding elements with pre-built in-memory
+trees, e.g. to write out large documents that consist mostly of
+repetitive subtrees (like database dumps).  But it can be useful in
+many cases where memory consumption matters or where XML is naturally
+generated in sequential steps.  Since lxml 3.4.1, there is an equivalent
+context manager for HTML serialisation called <tt class="docutils literal">htmlfile</tt>.</p>
+<p>The API can serialise to real files (given as file path or file
+object), as well as file-like objects, e.g. <tt class="docutils literal">io.BytesIO()</tt>.
+Here is a simple example:</p>
 <pre class="literal-block">
 &gt;&gt;&gt; f = BytesIO()
 &gt;&gt;&gt; with etree.xmlfile(f) as xf:
@@ -495,7 +496,7 @@ example:</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index c3e7642747b09c9973ac7fbf3dad8b4aeacfeb52..bf4781df7633b362cbc0e24b8c5207399ed8b5d3 100644 (file)
@@ -426,7 +426,7 @@ even via super()).</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 453ee0ed7630e67afb3ee899d91be7c4c34e3b29..521732f321415772a13a772f634df30dfe29e77d 100644 (file)
@@ -488,8 +488,8 @@ lxml.tests.test_dtd.this_dir        lxml.tests.test_dtd-module.html#this_dir
 lxml.tests.test_elementtree    lxml.tests.test_elementtree-module.html
 lxml.tests.test_elementtree.ElementTreePullTestCase    lxml.tests.test_elementtree-module.html#ElementTreePullTestCase
 lxml.tests.test_elementtree._str       lxml.tests.common_imports-module.html#_str
-lxml.tests.test_elementtree._bytes     lxml.tests.common_imports-module.html#_bytes
 lxml.tests.test_elementtree.canonicalize       lxml.tests.common_imports-module.html#canonicalize
+lxml.tests.test_elementtree._bytes     lxml.tests.common_imports-module.html#_bytes
 lxml.tests.test_elementtree.next       lxml.tests.common_imports-module.html#next
 lxml.tests.test_elementtree.__package__        lxml.tests.test_elementtree-module.html#__package__
 lxml.tests.test_elementtree.filter_by_version  lxml.tests.common_imports-module.html#filter_by_version
@@ -2684,6 +2684,11 @@ lxml.etree._XSLTResultTree.xslt_profile  lxml.etree._XSLTResultTree-class.html#xs
 lxml.etree._ElementTree.iter   lxml.etree._ElementTree-class.html#iter
 lxml.etree._ElementTree.getiterator    lxml.etree._ElementTree-class.html#getiterator
 lxml.etree._ElementTree.__copy__       lxml.etree._ElementTree-class.html#__copy__
+lxml.etree.htmlfile    lxml.etree.htmlfile-class.html
+lxml.etree.xmlfile.__exit__    lxml.etree.xmlfile-class.html#__exit__
+lxml.etree.htmlfile.__new__    lxml.etree.htmlfile-class.html#__new__
+lxml.etree.xmlfile.__enter__   lxml.etree.xmlfile-class.html#__enter__
+lxml.etree.htmlfile.__init__   lxml.etree.htmlfile-class.html#__init__
 lxml.etree.iterparse   lxml.etree.iterparse-class.html
 lxml.etree.iterparse.set_element_class_lookup  lxml.etree.iterparse-class.html#set_element_class_lookup
 lxml.etree.iterparse.__init__  lxml.etree.iterparse-class.html#__init__
@@ -4587,6 +4592,7 @@ lxml.tests.test_elementtree.CElementTreeTestCase  lxml.tests.test_elementtree.CEl
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attribute_update_iter      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_iter
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator_filter_pi      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_setslice_end_exact lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_deepcopy_subelement        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_subelement
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_clear    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_clear
@@ -4608,7 +4614,6 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_getiterator lxml.t
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_write_method_text  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_method_text
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_dict        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_dict
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_set_clear   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_set_clear
-lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_itertext_child     lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_itertext_child
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_pop_empty_default   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_empty_default
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem_indexerror lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_indexerror
@@ -4722,6 +4727,7 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem       lxml.tests.test_elem
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_pi lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_set_text2  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text2
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iteration_crash    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_crash
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_qname      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_attribute_ns   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_setslice       lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setslice
@@ -4883,6 +4889,7 @@ lxml.tests.test_elementtree.ETreeTestCase lxml.tests.test_elementtree.ETreeTestC
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attribute_update_iter      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_iter
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator_filter_pi      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_setslice_end_exact lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_deepcopy_subelement        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_subelement
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_clear    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_clear
@@ -4904,7 +4911,6 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_getiterator lxml.t
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_write_method_text  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_method_text
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_dict        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_dict
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_set_clear   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_set_clear
-lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_itertext_child     lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_itertext_child
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_pop_empty_default   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_empty_default
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem_indexerror lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_indexerror
@@ -5018,6 +5024,7 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem       lxml.tests.test_elem
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_pi lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_set_text2  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text2
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iteration_crash    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_crash
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_qname      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_attribute_ns   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_setslice       lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setslice
@@ -5166,6 +5173,7 @@ lxml.tests.test_elementtree.ElementTreeTestCase   lxml.tests.test_elementtree.Elem
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attribute_update_iter      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_iter
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator_filter_pi      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_setslice_end_exact lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_deepcopy_subelement        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_subelement
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_clear    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_clear
@@ -5187,7 +5195,6 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_getiterator lxml.t
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_write_method_text  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_method_text
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_dict        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_dict
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_set_clear   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_set_clear
-lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_itertext_child     lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_itertext_child
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_pop_empty_default   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_empty_default
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem_indexerror lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_indexerror
@@ -5302,6 +5309,7 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem       lxml.tests.test_elem
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_pi lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_set_text2  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text2
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iteration_crash    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_crash
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_qname      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_attribute_ns   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_setslice       lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setslice
@@ -5450,6 +5458,7 @@ lxml.tests.test_elementtree._ETreeTestCaseBase    lxml.tests.test_elementtree._ETre
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attribute_update_iter      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_iter
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator_filter_pi      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_setslice_end_exact lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_deepcopy_subelement        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_deepcopy_subelement
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_getiterator        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_getiterator
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_clear    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iterparse_clear
@@ -5471,7 +5480,6 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_iterparse_getiterator lxml.t
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_write_method_text  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_write_method_text
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_dict        lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_dict
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_set_clear   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_set_clear
-lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_setslice_all       lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_attrib_pop_empty_default   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_empty_default
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem_indexerror lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setitem_indexerror
@@ -5585,6 +5593,7 @@ lxml.tests.test_elementtree._ETreeTestCaseBase.test_setitem       lxml.tests.test_elem
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_pi lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_pi
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_set_text2  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_set_text2
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_iteration_crash    lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_iteration_crash
+lxml.tests.test_elementtree._ETreeTestCaseBase.test_encoding_tostring  lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_encoding_tostring
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_qname      lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_qname
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_attribute_ns   lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_attribute_ns
 lxml.tests.test_elementtree._ETreeTestCaseBase.test_del_setslice       lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_del_setslice
@@ -5865,7 +5874,7 @@ lxml.tests.test_etree.ETreeOnlyTestCase.test_parser_target_feed_exception lxml.t
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterwalk_attrib_ns        lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk_attrib_ns
 lxml.tests.test_etree.ETreeOnlyTestCase.test_sourceline_parse  lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_parse
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterparse_pis     lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_pis
-lxml.tests.test_etree.ETreeOnlyTestCase.test_getparent lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getparent
+lxml.tests.test_etree.ETreeOnlyTestCase.test_comment_no_proxy_yet      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_no_proxy_yet
 lxml.tests.test_etree.ETreeOnlyTestCase.test_tounicode_element lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element
 lxml.tests.test_etree.ETreeOnlyTestCase.test_tounicode lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode
 lxml.tests.test_etree.ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons        lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge_with_nons
@@ -5875,7 +5884,7 @@ lxml.tests.test_etree.ETreeOnlyTestCase.test_iterwalk_tag lxml.tests.test_etree.
 lxml.tests.test_etree.ETreeOnlyTestCase.test_namespace_cleanup lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup
 lxml.tests.test_etree.ETreeOnlyTestCase.test_feed_parser_recover_no_id_dict    lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_feed_parser_recover_no_id_dict
 lxml.tests.test_etree.ETreeOnlyTestCase.test_entity_parse      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_parse
-lxml.tests.test_etree.ETreeOnlyTestCase.test_comment_no_proxy_yet      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_no_proxy_yet
+lxml.tests.test_etree.ETreeOnlyTestCase.test_attribute_set_nonstring   lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set_nonstring
 lxml.tests.test_etree.ETreeOnlyTestCase.test_qname_element     lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_qname_element
 lxml.tests.test_etree.ETreeOnlyTestCase.test_html_prefix_nsmap lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_prefix_nsmap
 lxml.tests.test_etree.ETreeOnlyTestCase.test_tostring_pretty   lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_pretty
@@ -5886,7 +5895,7 @@ lxml.tests.test_etree.ETreeOnlyTestCase.test_addnext_cycle        lxml.tests.test_etree
 lxml.tests.test_etree.ETreeOnlyTestCase.test_cdata     lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata
 lxml.tests.test_etree.ETreeOnlyTestCase.test_elementtree_parser_target_type_error      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_parser_target_type_error
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterparse_broken_multi_recover    lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_broken_multi_recover
-lxml.tests.test_etree.ETreeOnlyTestCase.test_resolve_filelike_dtd      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filelike_dtd
+lxml.tests.test_etree.ETreeOnlyTestCase.test_sourceline_XML    lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_XML
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterparse_keep_cdata      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_keep_cdata
 lxml.tests.test_etree.ETreeOnlyTestCase.test_element_names     lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_names
 lxml.tests.test_etree.ETreeOnlyTestCase.test_proxy_collect_siblings    lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings
@@ -5932,6 +5941,7 @@ lxml.tests.test_etree.ETreeOnlyTestCase.test_cdata_xpath  lxml.tests.test_etree.E
 lxml.tests.test_etree.ETreeOnlyTestCase.test_addprevious_pi    lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_pi
 lxml.tests.test_etree.ETreeOnlyTestCase.test_findall_different_nsmaps  lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_different_nsmaps
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterparse_broken_recover  lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_broken_recover
+lxml.tests.test_etree.ETreeOnlyTestCase.test_getparent lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getparent
 lxml.tests.test_etree.ETreeOnlyTestCase.test_addprevious_noops lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_noops
 lxml.tests.test_etree.ETreeOnlyTestCase.test_XMLDTDID  lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID
 lxml.tests.test_etree.ETreeOnlyTestCase.test_getiterator_filter_local_name     lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_local_name
@@ -5970,7 +5980,7 @@ lxml.tests.test_etree.ETreeOnlyTestCase.test_subelement_name_colon        lxml.tests.te
 lxml.tests.test_etree.ETreeOnlyTestCase.test_setslice_all_empty_reversed       lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_all_empty_reversed
 lxml.tests.test_etree.ETreeOnlyTestCase.test_doctype_output_override   lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_output_override
 lxml.tests.test_etree.ETreeOnlyTestCase.test_getprevious       lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getprevious
-lxml.tests.test_etree.ETreeOnlyTestCase.test_sourceline_XML    lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_XML
+lxml.tests.test_etree.ETreeOnlyTestCase.test_resolve_filelike_dtd      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_filelike_dtd
 lxml.tests.test_etree.ETreeOnlyTestCase.test_unicode_byte_invalid      lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterwalk  lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterwalk
 lxml.tests.test_etree.ETreeOnlyTestCase.test_iterdescendants_tag       lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag
@@ -6179,6 +6189,44 @@ lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_anonymous_namespac
 lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_element  lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element
 lxml.tests.common_imports.HelperTestCase.assertFalse   lxml.tests.common_imports.HelperTestCase-class.html#assertFalse
 lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_pi       lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_pi
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase   lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._parse_file   lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_parse_file
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_file
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_failure_trailing_text    lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_text
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.test_open_namespaced_element      lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_open_namespaced_element
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.test_write_namespaced_element     lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_write_namespaced_element
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_escaping lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_escaping
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.tearDown      lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#tearDown
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_default_namespace        lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_default_namespace
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.test_write_declaration    lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_write_declaration
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_write_Element_repeatedly lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_write_Element_repeatedly
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_element_nested_with_text lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested_with_text
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_encoding lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_encoding
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.setUp     lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#setUp
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.test_void_elements        lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_void_elements
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_element_write_text       lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_write_text
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_closing_out_of_order_in_error_case       lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_closing_out_of_order_in_error_case
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._read_file    lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_read_file
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_attribute        lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_attribute
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_failure_trailing_Element lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_Element
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_namespace_nested_nsmap   lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_nsmap
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_comment  lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_comment
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_element_nested   lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested
+lxml.tests.common_imports.HelperTestCase._rootstring   lxml.tests.common_imports.HelperTestCase-class.html#_rootstring
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_namespace_nsmap  lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nsmap
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_failure_preceding_text   lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_preceding_text
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_write_Element    lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_write_Element
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_namespace_nested_anonymous       lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_anonymous
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.assertXml     lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#assertXml
+lxml.tests.common_imports.HelperTestCase.parse lxml.tests.common_imports.HelperTestCase-class.html#parse
+unittest.case.TestCase.failureException        exceptions.AssertionError-class.html
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_flush    lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_flush
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_buffering        lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_buffering
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_nested_default_namespace lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_nested_default_namespace
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_anonymous_namespace      lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_anonymous_namespace
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_element  lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element
+lxml.tests.common_imports.HelperTestCase.assertFalse   lxml.tests.common_imports.HelperTestCase-class.html#assertFalse
+lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.test_pi       lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_pi
 lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase      lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html
 lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase._parse_file  lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#_parse_file
 lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_file
index 0e9614187b9f6893e17aacd680a0c37618a96d56..12beb91881ca3164f32c285461e2e1d760faa160 100644 (file)
@@ -475,12 +475,12 @@ Element class lookup method that uses the objectify classes.</em>
 Iterates over an element and its sub-elements in document order (depth
 first pre-order).</em>
     </li>
-    <li> <strong class="uidlink"><a href="lxml.objectify.ElementMaker-class.html">lxml.objectify.ElementMaker</a></strong>:
-      <em class="summary">ElementMaker(self, namespace=None, nsmap=None, annotate=True, makeelement=None)</em>
-    </li>
     <li> <strong class="uidlink"><a href="lxml.builder.ElementMaker-class.html">lxml.builder.ElementMaker</a></strong>:
       <em class="summary">Element generator factory.</em>
     </li>
+    <li> <strong class="uidlink"><a href="lxml.objectify.ElementMaker-class.html">lxml.objectify.ElementMaker</a></strong>:
+      <em class="summary">ElementMaker(self, namespace=None, nsmap=None, annotate=True, makeelement=None)</em>
+    </li>
     <li> <strong class="uidlink"><a href="lxml.etree.ElementTextIterator-class.html" onclick="show_private();">lxml.etree.ElementTextIterator</a></strong>:
       <em class="summary">ElementTextIterator(self, element, tag=None, with_tail=True)
 Iterates over the text content of a subtree.</em>
@@ -773,6 +773,8 @@ key/value pairs.</em>
     <ul>
     <li> <strong class="uidlink"><a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html">lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase</a></strong>
     </li>
+    <li> <strong class="uidlink"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">lxml.tests.test_incremental_xmlfile.HtmlFileTestCase</a></strong>
+    </li>
     <li> <strong class="uidlink"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase</a></strong>
     </li>
     <li> <strong class="uidlink"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase</a></strong>
@@ -1049,13 +1051,13 @@ A DTD validator.</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>
@@ -1201,6 +1203,11 @@ type(name, bases, dict) -&gt; a new type</em>
     </li>
     <li> <strong class="uidlink"><a href="lxml.etree.xmlfile-class.html" onclick="show_private();">lxml.etree.xmlfile</a></strong>:
       <em class="summary">xmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)</em>
+    <ul>
+    <li> <strong class="uidlink"><a href="lxml.etree.htmlfile-class.html" onclick="show_private();">lxml.etree.htmlfile</a></strong>:
+      <em class="summary">htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)</em>
+    </li>
+    </ul>
     </li>
     </ul>
     </li>
@@ -1236,7 +1243,7 @@ type(name, bases, dict) -&gt; a new type</em>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 11bc8d1b90e31d140e4114a00daf55cc15bf738c..b620e52f60756e50c79efb21b0554089e9985284 100644 (file)
@@ -194,7 +194,7 @@ You can just use ``except SelectorError:`` when calling
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f7b1991a3cd8997497a42c02e201132ec5eb4fc3..5060ce85965f1591bf2e07291c04d949459c7b23 100644 (file)
@@ -201,7 +201,7 @@ Parsing a selector that does not match the grammar.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d63a4dfbafbb0cf6ace32cbc9697a64d3c7e5176..b1bf2570230868f54d93bce1948b322c86759bdf 100644 (file)
@@ -193,7 +193,7 @@ Unknown or unsupported selector (eg. pseudo-class).
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 49ff6a5483113349a923a4b7c50308f4ce047f81..7117eac348f7d63987c7a071be478d0013a9e5f5 100644 (file)
@@ -379,7 +379,7 @@ to a single parent.</td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 66ec6b764b3ca98f1c11e72fe6d10013885b60d2..ff093ba0734868d6c068926c2d20c024d9b3b9fd 100644 (file)
@@ -145,7 +145,7 @@ with older versions of lxml or ElementTree.</li>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e59afaf92dd16a3abeda2d7f23f463f9b68c242f..566e0882b074f24dfa1ebfe0f15d6dcd8e1263a1 100644 (file)
@@ -280,7 +280,7 @@ Assertion failed.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 8dd42f0cff550dec627b32cd91dcff7526ae4166..cf6f7161fe43c22ad53838e3b59886569f88907a 100644 (file)
@@ -256,7 +256,7 @@ page was last updated. </p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d61c3655d1e5f660aee566d10c4fcc6a4703afd6..7026a38000172f9dd1b3c847967e7ca9983c10f5 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2cfdc5ebaeabb3c1a3b73dcdc99246b142226c0a..565628511f84722a4d10e1981a73d29554acae8e 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2a4b120519fb6ff7fbcf4333a04a49229b8cbc0c..638c50978d1594e2baf256333a122a63ae50b981 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e60fedc02b4656d43b9fcc3f36ba7d07b23247fe..777906f3c2762f164454c0411f489fa7920f03e6 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 77c5c693f5896a8e09649195664a42504dc7dd5e..c2cd8f0d88daf7188ae86b1ab2c6f358812f8ada 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6721e49dd7beebd72157ee4a01c7afa1d2cfeba3..c4c393add490468fd3089ecf486708cbc7737b56 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6ed3e16d875e9a2e58fc3343e4008d8e931ec978..31e80c43750ff87b519d42b30da2bfb6d7e2e6af 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 62ebff3e04f35a41b60fed0575287af705dbc443..a881f710d2bcdcc0ff69742029e9aed6788e600b 100644 (file)
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-class.html">ParseWorker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff.href_token-class.html#html">html()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.href_token-class.html" onclick="show_private();">href_token</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a></td>
+<td width="33%" class="link-index"><a href="lxml.etree.htmlfile-class.html">htmlfile</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-class.html#handle">handle()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-class.html">ReverseWorker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff.tag_token-class.html#html">html()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.tag_token-class.html" onclick="show_private();">tag_token</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.HTMLParser-class.html">HTMLParser</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a><br />
+<span class="index-where">(in&nbsp;<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_threading.ThreadPipelineTestCase.RotateWorker-class.html#handle">handle()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker-class.html">RotateWorker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html#html">html()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.token-class.html" onclick="show_private();">token</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.HTMLParser-class.html">HTMLParser</a></td>
+<td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-class.html#handle">handle()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-class.html">SerialiseWorker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.defs-module.html#html5_tags">html5_tags</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.html5parser.HTMLParser-class.html">HTMLParser</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.HTMLParser-class.html">HTMLParser</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#handle_entities">handle_entities()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html">html5parser</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser-module.html">lxml.tests.test_htmlparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.HTMLParser-class.html">HTMLParser</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#has_key">has_key()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff-module.html#html_annotate">html_annotate()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.HtmlProcessingInstruction-class.html">HtmlProcessingInstruction</a></td>
+<td width="33%" class="link-index"><a href="lxml.html.html5parser.HTMLParser-class.html">HTMLParser</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#has_key">has_key()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff-module.html#html_annotate_merge_annotations">html_annotate_merge_annotations()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.HTMLPullParser-class.html">HTMLPullParser</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.ObjectPath-class.html#hasattr">hasattr()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectPath-class.html">ObjectPath</a>)</span></td>
 <td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#HTML_EMPTY">HTML_EMPTY</a><br />
 <span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#HTTP">HTTP</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.HtmlProcessingInstruction-class.html">HtmlProcessingInstruction</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html#head">head</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare.LXMLOutputChecker-class.html#html_empty_tag">html_empty_tag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare.LXMLOutputChecker-class.html">LXMLOutputChecker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#HTTP_UNKNOWN_HOST">HTTP_UNKNOWN_HOST</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.HTMLPullParser-class.html">HTMLPullParser</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.builder-module.html#HEAD">HEAD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#html_fromstring">html_fromstring()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#HTTP_URL_SYNTAX">HTTP_URL_SYNTAX</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#HTTP">HTTP</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.defs-module.html#head_tags">head_tags</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html#html_parser">html_parser</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#HTTP_USE_IP">HTTP_USE_IP</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#HTTP_UNKNOWN_HOST">HTTP_UNKNOWN_HOST</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html-module.html#html_parser">html_parser</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a><br />
-<span class="index-where">(in&nbsp;<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.etree.ErrorTypes-class.html#HTTP_URL_SYNTAX">HTTP_URL_SYNTAX</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.diff.href_token-class.html#hide_when_equal">hide_when_equal</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.href_token-class.html" onclick="show_private();">href_token</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#html_str">html_str</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.dummy_http_server.HTTPRequestCollector-class.html">HTTPRequestCollector</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server-module.html">lxml.tests.dummy_http_server</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#HTTP_USE_IP">HTTP_USE_IP</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html#hide_when_equal">hide_when_equal</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.token-class.html" onclick="show_private();">token</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html#html_str_pretty">html_str_pretty</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a><br />
+<span class="index-where">(in&nbsp;<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.html.clean.Cleaner-class.html#host_whitelist">host_whitelist</a><br />
 <span class="index-where">(in&nbsp;<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#HTML_STRUCURE_ERROR">HTML_STRUCURE_ERROR</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="lxml.tests.dummy_http_server.HTTPRequestCollector-class.html">HTTPRequestCollector</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server-module.html">lxml.tests.dummy_http_server</a>)</span></td>
 </tr>
 </table>
 </td></tr>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 58ffcedd35b2c7216ea3544e47ec5885b346e9ac..a46b13562f8f75925003c68dea355a5f2fba57c4 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b45c6ed5dd147e382972a43424674d14559720b9..ae0188be97e375e74dcbcb566569f72a1b5fa1ab 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 511f16faea3fc46b086de6f6a764796b2e9795a9..7c45f2253e5747e69e28789b2bf71fd2e0d0d86a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c37322a003881ae33a6ec583b812538e1805ed31..a5bd719a9e96c14d50a3e2a7c510d9225600809c 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 12b78344a902ab498266e314ad8c4262031f348a..f56791afdfaee976b5c84906e35be2618fdfbe65 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5d0d9b2a9eb2bca9c666bb990a3847de46c4459d..70b2072f219d4ddcab3c7bfa82883081e970bd15 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 17efe0273bec56b1691e9834b5d0eca6e5317bf4..c08e3a6e46df013e8a25eb473717baa78a983e5a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 72a07c6b0e34c40f8c9fa9ebc4198fc7e77b6e70..a75d1dce3a4ceb38c54396e7e7ed69607752e513 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b0e46cf2146658b7a3c659f787cbe85546ce3772..2ec24d88921ea865274a1f38a7fcb31715c78b52 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cd1f33f6cadfce57a6f14e0d72080057d58f8455..b70bee0acb3c3ee93268541a91782265177abe4a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1fc7e006630b744277b533de3d5d89487a95f445..34adcfb6a00683ad6e356af8efea670060291c83 100644 (file)
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_UNKNOWN_SCHEMAS_CHILD">SCHEMAP_UNKNOWN_SCHEMAS_CHILD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile.HtmlFileTestCase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<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.etree.ErrorTypes-class.html#SCHEMAP_E_PROPS_CORRECT_3">SCHEMAP_E_PROPS_CORRECT_3</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_UNKNOWN_SEQUENCE_CHILD">SCHEMAP_UNKNOWN_SEQUENCE_CHILD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_E_PROPS_CORRECT_4">SCHEMAP_E_PROPS_CORRECT_4</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD">SCHEMAP_UNKNOWN_SIMPLECONTENT_CHILD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html">TempXmlFileTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_E_PROPS_CORRECT_5">SCHEMAP_E_PROPS_CORRECT_5</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD">SCHEMAP_UNKNOWN_SIMPLETYPE_CHILD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<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.TempXmlFileTestCase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html">TempXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_E_PROPS_CORRECT_6">SCHEMAP_E_PROPS_CORRECT_6</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_UNKNOWN_TYPE">SCHEMAP_UNKNOWN_TYPE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<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.etree.ErrorTypes-class.html#SCHEMAP_ELEM_DEFAULT_FIXED">SCHEMAP_ELEM_DEFAULT_FIXED</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_UNKNOWN_UNION_CHILD">SCHEMAP_UNKNOWN_UNION_CHILD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp">setUp()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_ELEM_NONAME_NOREF">SCHEMAP_ELEM_NONAME_NOREF</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_WARN_ATTR_POINTLESS_PROH">SCHEMAP_WARN_ATTR_POINTLESS_PROH</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree.ElementTreeTestCase-class.html#setUpClass">setUpClass()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree.ElementTreeTestCase-class.html">ElementTreeTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp">setUp()</a><br />
+<span class="index-where">(in&nbsp;<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.ErrorTypes-class.html#SCHEMAP_ELEMFORMDEFAULT_VALUE">SCHEMAP_ELEMFORMDEFAULT_VALUE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_WARN_ATTR_REDECL_PROH">SCHEMAP_WARN_ATTR_REDECL_PROH</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.SiblingsIterator-class.html">SiblingsIterator</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree.ElementTreeTestCase-class.html#setUpClass">setUpClass()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree.ElementTreeTestCase-class.html">ElementTreeTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_EXTENSION_NO_BASE">SCHEMAP_EXTENSION_NO_BASE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_WARN_SKIP_SCHEMA">SCHEMAP_WARN_SKIP_SCHEMA</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports.SillyFileLike-class.html">SillyFileLike</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.SiblingsIterator-class.html">SiblingsIterator</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_FACET_NO_VALUE">SCHEMAP_FACET_NO_VALUE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_WARN_UNLOCATED_SCHEMA">SCHEMAP_WARN_UNLOCATED_SCHEMA</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html">simple_resolver</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports.SillyFileLike-class.html">SillyFileLike</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_FAILED_BUILD_IMPORT">SCHEMAP_FAILED_BUILD_IMPORT</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_WILDCARD_INVALID_NS_MEMBER">SCHEMAP_WILDCARD_INVALID_NS_MEMBER</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html">SimpleFileLike</a><br />
-<span class="index-where">(in&nbsp;<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_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html">simple_resolver</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-class.html">ETreeXMLSchemaResolversTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_FAILED_LOAD">SCHEMAP_FAILED_LOAD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#SCHEMASP">SCHEMASP</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html">SimpleFileLike</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_FAILED_PARSE">SCHEMAP_FAILED_PARSE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#SCHEMASV">SCHEMASV</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#skipif">skipif</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a><br />
+<span class="index-where">(in&nbsp;<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.etree.ErrorTypes-class.html#SCHEMAP_GROUP_NONAME_NOREF">SCHEMAP_GROUP_NONAME_NOREF</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.Schematron-class.html">Schematron</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SMALL">SMALL</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#skipif">skipif</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_IMPORT_NAMESPACE_NOT_URI">SCHEMAP_IMPORT_NAMESPACE_NOT_URI</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html">Schematron</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html">soupparser</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SMALL">SMALL</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_IMPORT_REDEFINE_NSNAME">SCHEMAP_IMPORT_REDEFINE_NSNAME</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#schematron">schematron</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#sourceline">sourceline</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html">soupparser</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_IMPORT_SCHEMA_NOT_URI">SCHEMAP_IMPORT_SCHEMA_NOT_URI</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#SCHEMATRON_NS">SCHEMATRON_NS</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SPAN">SPAN</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#sourceline">sourceline</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_INCLUDE_SCHEMA_NO_URI">SCHEMAP_INCLUDE_SCHEMA_NO_URI</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#schematron_schema_valid">schematron_schema_valid</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.defs-module.html#special_inline_tags">special_inline_tags</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SPAN">SPAN</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_INCLUDE_SCHEMA_NOT_URI">SCHEMAP_INCLUDE_SCHEMA_NOT_URI</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SchematronError-class.html">SchematronError</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_delete">split_delete()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.defs-module.html#special_inline_tags">special_inline_tags</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_INTERNAL">SCHEMAP_INTERNAL</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SchematronParseError-class.html">SchematronParseError</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_trailing_whitespace">split_trailing_whitespace()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_delete">split_delete()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#SCHEMATRONV">SCHEMATRONV</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_unbalanced">split_unbalanced()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_trailing_whitespace">split_trailing_whitespace()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMATRONV_ASSERT">SCHEMATRONV_ASSERT</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_words">split_words()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_unbalanced">split_unbalanced()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMATRONV_REPORT">SCHEMATRONV_REPORT</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_words_re">split_words_re</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_words">split_words()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SchematronValidateError-class.html">SchematronValidateError</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#standalone">standalone</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#split_words_re">split_words_re</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_INVALID_ATTR_USE">SCHEMAP_INVALID_ATTR_USE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_ATTRINVALID">SCHEMAV_ATTRINVALID</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.TreeBuilder-class.html#start">start()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.TreeBuilder-class.html">TreeBuilder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#standalone">standalone</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_INVALID_BOOLEAN">SCHEMAP_INVALID_BOOLEAN</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_ATTRUNKNOWN">SCHEMAV_ATTRUNKNOWN</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#start_tag">start_tag()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.TreeBuilder-class.html#start">start()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.TreeBuilder-class.html">TreeBuilder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_INVALID_ENUM">SCHEMAP_INVALID_ENUM</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CONSTRUCT">SCHEMAV_CONSTRUCT</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#start_whitespace_re">start_whitespace_re</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#start_tag">start_tag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ATTRIBUTE_1">SCHEMAV_CVC_ATTRIBUTE_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startDocument">startDocument()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#start_whitespace_re">start_whitespace_re</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_INVALID_FACET_VALUE">SCHEMAP_INVALID_FACET_VALUE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ATTRIBUTE_2">SCHEMAV_CVC_ATTRIBUTE_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startElement">startElement()</a><br />
+<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startDocument">startDocument()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ATTRIBUTE_3">SCHEMAV_CVC_ATTRIBUTE_3</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startElementNS">startElementNS()</a><br />
+<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startElement">startElement()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ATTRIBUTE_4">SCHEMAV_CVC_ATTRIBUTE_4</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping">startPrefixMapping()</a><br />
+<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startElementNS">startElementNS()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_AU">SCHEMAV_CVC_AU</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="str-class.html">str</a></td>
+<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping">startPrefixMapping()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_INVALID_WHITE_SPACE">SCHEMAP_INVALID_WHITE_SPACE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_1">SCHEMAV_CVC_COMPLEX_TYPE_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#STRIKE">STRIKE</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="str-class.html">str</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_MG_PROPS_CORRECT_1">SCHEMAP_MG_PROPS_CORRECT_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_2_1">SCHEMAV_CVC_COMPLEX_TYPE_2_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html">StringElement</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#STRIKE">STRIKE</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_MG_PROPS_CORRECT_2">SCHEMAP_MG_PROPS_CORRECT_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_2_2">SCHEMAV_CVC_COMPLEX_TYPE_2_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#stringify">stringify</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html">StringElement</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_MISSING_SIMPLETYPE_CHILD">SCHEMAP_MISSING_SIMPLETYPE_CHILD</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_2_3">SCHEMAV_CVC_COMPLEX_TYPE_2_3</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#stringListTest">stringListTest()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#stringify">stringify</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_NO_XMLNS">SCHEMAP_NO_XMLNS</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_2_4">SCHEMAV_CVC_COMPLEX_TYPE_2_4</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#stringTest">stringTest()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#stringListTest">stringListTest()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_3_1">SCHEMAV_CVC_COMPLEX_TYPE_3_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#strip">strip()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#stringTest">stringTest()</a><br />
+<span class="index-where">(in&nbsp;<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.etree.ErrorTypes-class.html#SCHEMAP_NOATTR_NOREF">SCHEMAP_NOATTR_NOREF</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_3_2_1">SCHEMAV_CVC_COMPLEX_TYPE_3_2_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#strip_attributes">strip_attributes()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#strip">strip()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_NOROOT">SCHEMAP_NOROOT</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_3_2_2">SCHEMAV_CVC_COMPLEX_TYPE_3_2_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#strip_elements">strip_elements()</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#strip_attributes">strip_attributes()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_4">SCHEMAV_CVC_COMPLEX_TYPE_4</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#strip_tags">strip_tags()</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#strip_elements">strip_elements()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_5_1">SCHEMAV_CVC_COMPLEX_TYPE_5_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#strlen">strlen()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#strip_tags">strip_tags()</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_NOTATION_NO_NAME">SCHEMAP_NOTATION_NO_NAME</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_COMPLEX_TYPE_5_2">SCHEMAV_CVC_COMPLEX_TYPE_5_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#STRONG">STRONG</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#strlen">strlen()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_NOTHING_TO_PARSE">SCHEMAP_NOTHING_TO_PARSE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_DATATYPE_VALID_1_2_1">SCHEMAV_CVC_DATATYPE_VALID_1_2_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.XSLT-class.html#strparam">strparam()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.XSLT-class.html">XSLT</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#STRONG">STRONG</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_NOTYPE_NOREF">SCHEMAP_NOTYPE_NOREF</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_DATATYPE_VALID_1_2_2">SCHEMAV_CVC_DATATYPE_VALID_1_2_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#STYLE">STYLE</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.XSLT-class.html#strparam">strparam()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.XSLT-class.html">XSLT</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_P_PROPS_CORRECT_1">SCHEMAP_P_PROPS_CORRECT_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_DATATYPE_VALID_1_2_3">SCHEMAV_CVC_DATATYPE_VALID_1_2_3</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#style">style</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#STYLE">STYLE</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_P_PROPS_CORRECT_2_1">SCHEMAP_P_PROPS_CORRECT_2_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_1">SCHEMAV_CVC_ELT_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#stylesheet_params">stylesheet_params()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#style">style</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_P_PROPS_CORRECT_2_2">SCHEMAP_P_PROPS_CORRECT_2_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_2">SCHEMAV_CVC_ELT_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SUB">SUB</a><br />
-<span class="index-where">(in&nbsp;<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#stylesheet_params">stylesheet_params()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_PREFIX_UNDEFINED">SCHEMAP_PREFIX_UNDEFINED</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_3_1">SCHEMAV_CVC_ELT_3_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#SubElement">SubElement()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SUB">SUB</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_RECURSIVE">SCHEMAP_RECURSIVE</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_3_2_1">SCHEMAV_CVC_ELT_3_2_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SUP">SUP</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#SubElement">SubElement()</a><br />
+<span class="index-where">(in&nbsp;<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#SCHEMAP_REDEFINED_ATTR">SCHEMAP_REDEFINED_ATTR</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_3_2_2">SCHEMAV_CVC_ELT_3_2_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#SVRL_NS">SVRL_NS</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#SUP">SUP</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_REDEFINED_ATTRGROUP">SCHEMAP_REDEFINED_ATTRGROUP</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_4_1">SCHEMAV_CVC_ELT_4_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#svrl_validation_errors">svrl_validation_errors</a><br />
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#SVRL_NS">SVRL_NS</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_4_2">SCHEMAV_CVC_ELT_4_2</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.DTD-class.html#system_url">system_url</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.DTD-class.html">DTD</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#svrl_validation_errors">svrl_validation_errors</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_REDEFINED_GROUP">SCHEMAP_REDEFINED_GROUP</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_4_3">SCHEMAV_CVC_ELT_4_3</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#system_url">system_url</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.DTD-class.html#system_url">system_url</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.DTD-class.html">DTD</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_REDEFINED_NOTATION">SCHEMAP_REDEFINED_NOTATION</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAV_CVC_ELT_5_1_1">SCHEMAV_CVC_ELT_5_1_1</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index">&nbsp;</td>
+<td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#system_url">system_url</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#SCHEMAP_REDEFINED_TYPE">SCHEMAP_REDEFINED_TYPE</a><br />
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e94455e526dfeb2d4f9213f8ed6e405c790f988e..4b0fea7cd6ae19f1c697868c5ce61d0f9f322847 100644 (file)
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TABLE">TABLE</a><br />
 <span class="index-where">(in&nbsp;<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._XmlFileTestCaseBase-class.html#test_flush">test_flush()</a><br />
-<span class="index-where">(in&nbsp;<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_setslice">test_setslice()</a><br />
+<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&nbsp;<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_empty">test_setslice_all_empty()</a><br />
 <span class="index-where">(in&nbsp;<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.html.defs-module.html#table_tags">table_tags</a><br />
 <span class="index-where">(in&nbsp;<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_fromstring">test_fromstring()</a><br />
-<span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Comment-class.html#tag">tag</a><br />
 <span class="index-where">(in&nbsp;<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_fromstringlist">test_fromstringlist()</a><br />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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_characters">test_fromstringlist_characters()</a><br />
+<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&nbsp;<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_replace_reversed">test_setslice_all_replace_reversed()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<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_single">test_fromstringlist_single()</a><br />
+<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&nbsp;<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_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&nbsp;<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._ProcessingInstruction-class.html#tag">tag</a><br />
 <span class="index-where">(in&nbsp;<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_getiterator">test_getiterator()</a><br />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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_empty">test_getiterator_empty()</a><br />
-<span class="index-where">(in&nbsp;<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_replace_reversed_ns1">test_setslice_all_replace_reversed_ns1()</a><br />
+<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&nbsp;<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&nbsp;<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_xpathevaluator-module.html#tag">tag()</a><br />
 <span class="index-where">(in&nbsp;<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">test_getiterator_filter()</a><br />
-<span class="index-where">(in&nbsp;<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_replace_reversed_ns2">test_setslice_all_replace_reversed_ns2()</a><br />
+<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&nbsp;<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&nbsp;<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.LXMLOutputChecker-class.html#tag_compare">tag_compare()</a><br />
 <span class="index-where">(in&nbsp;<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_all">test_getiterator_filter_all()</a><br />
+<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&nbsp;<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_empty">test_setslice_empty()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_xpathevaluator-module.html#tag_or_value">tag_or_value()</a><br />
 <span class="index-where">(in&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_all_comment_pi">test_getiterator_filter_all_comment_pi()</a><br />
-<span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_getiterator_filter_comment">test_getiterator_filter_comment()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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.diff.tag_token-class.html">tag_token</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_element">test_getiterator_filter_element()</a><br />
+<span class="index-where">(in&nbsp;<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">test_setslice_end()</a><br />
 <span class="index-where">(in&nbsp;<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.html.defs-module.html#tags">tags</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</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&nbsp;<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_empty">test_setslice_empty()</a><br />
-<span class="index-where">(in&nbsp;<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._Element-class.html#tail">tail</a><br />
-<span class="index-where">(in&nbsp;<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_entities">test_getiterator_filter_entities()</a><br />
 <span class="index-where">(in&nbsp;<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">test_setslice_end()</a><br />
+<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&nbsp;<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#tail">tail</a><br />
-<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree.Element-class.html">Element</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#tail">tail</a><br />
+<span class="index-where">(in&nbsp;<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_local_name">test_getiterator_filter_local_name()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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#target">target</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._ProcessingInstruction-class.html" onclick="show_private();">_ProcessingInstruction</a>)</span></td>
+<td width="33%" class="link-index"><a href="xml.etree.ElementTree.Element-class.html#tail">tail</a><br />
+<span class="index-where">(in&nbsp;<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_multiple">test_getiterator_filter_multiple()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ProcessingInstruction-class.html#target">target</a><br />
+<span class="index-where">(in&nbsp;<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_multiple_tuple">test_getiterator_filter_multiple_tuple()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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.html.builder-module.html#TD">TD</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TBODY">TBODY</a><br />
 <span class="index-where">(in&nbsp;<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_namespace">test_getiterator_filter_namespace()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.common_imports.HelperTestCase-class.html">HelperTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#TD">TD</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</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&nbsp;<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&nbsp;<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_classlookup.ClassLookupTestCase-class.html#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports.HelperTestCase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports.HelperTestCase-class.html">HelperTestCase</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&nbsp;<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&nbsp;<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_htmlparser.HtmlParserTestCase-class.html#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_with_text">test_getiterator_with_text()</a><br />
 <span class="index-where">(in&nbsp;<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_neg">test_setslice_partial_neg()</a><br />
 <span class="index-where">(in&nbsp;<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.TempPathXmlFileTestCase-class.html#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<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_htmlparser.HtmlParserTestCase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_getnext">test_getnext()</a><br />
 <span class="index-where">(in&nbsp;<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_partial_wrong_length">test_setslice_partial_wrong_length()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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.TempPathXmlFileTestCase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_getparent">test_getparent()</a><br />
 <span class="index-where">(in&nbsp;<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_single">test_setslice_single()</a><br />
 <span class="index-where">(in&nbsp;<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_io._IOTestCaseBase-class.html#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<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#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_getprevious">test_getprevious()</a><br />
 <span class="index-where">(in&nbsp;<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">test_setslice_step()</a><br />
 <span class="index-where">(in&nbsp;<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#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_getroottree">test_getroottree()</a><br />
 <span class="index-where">(in&nbsp;<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_negative">test_setslice_step_negative()</a><br />
 <span class="index-where">(in&nbsp;<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#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_getslice">test_getslice()</a><br />
 <span class="index-where">(in&nbsp;<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_negative2">test_setslice_step_negative2()</a><br />
 <span class="index-where">(in&nbsp;<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_pyclasslookup.PyClassLookupTestCase-class.html#tearDown">tearDown()</a><br />
-<span class="index-where">(in&nbsp;<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#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_getslice_complete">test_getslice_complete()</a><br />
 <span class="index-where">(in&nbsp;<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_overrun">test_setslice_step_overrun()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#tearDown">tearDown()</a><br />
+<span class="index-where">(in&nbsp;<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_negative">test_getslice_negative()</a><br />
 <span class="index-where">(in&nbsp;<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_tail">test_setslice_tail()</a><br />
 <span class="index-where">(in&nbsp;<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">TempPathXmlFileTestCase</a><br />
-<span class="index-where">(in&nbsp;<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.doctestcompare-module.html#temp_install">temp_install()</a><br />
+<span class="index-where">(in&nbsp;<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_partial">test_getslice_partial()</a><br />
 <span class="index-where">(in&nbsp;<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_shallowcopy">test_shallowcopy()</a><br />
 <span class="index-where">(in&nbsp;<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.TempXmlFileTestCase-class.html">TempXmlFileTestCase</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a><br />
 <span class="index-where">(in&nbsp;<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_neg">test_getslice_partial_neg()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_addattr">test_addattr()</a><br />
-<span class="index-where">(in&nbsp;<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.TempXmlFileTestCase-class.html">TempXmlFileTestCase</a><br />
+<span class="index-where">(in&nbsp;<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_step">test_getslice_step()</a><br />
 <span class="index-where">(in&nbsp;<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_simple">test_simple()</a><br />
 <span class="index-where">(in&nbsp;<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_addattr_element">test_addattr_element()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_addattr_list">test_addattr_list()</a><br />
+<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&nbsp;<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_html_base">test_html_base()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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">test_addnext()</a><br />
-<span class="index-where">(in&nbsp;<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_addattr_list">test_addattr_list()</a><br />
+<span class="index-where">(in&nbsp;<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_html_base_tag">test_html_base_tag()</a><br />
 <span class="index-where">(in&nbsp;<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_sourceline_element">test_sourceline_element()</a><br />
 <span class="index-where">(in&nbsp;<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_comment">test_addnext_comment()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext">test_addnext()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_cycle">test_addnext_cycle()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_cycle_long">test_addnext_cycle_long()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_noops">test_addnext_noops()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_cycle_long">test_addnext_cycle_long()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_pi">test_addnext_pi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_noops">test_addnext_noops()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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">test_addnext_root()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_addnext_root_comment">test_addnext_root_comment()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_addnext_root_pi">test_addnext_root_pi()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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">test_addprevious()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_comment">test_addprevious_comment()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious">test_addprevious()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_cycle">test_addprevious_cycle()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_comment">test_addprevious_comment()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_cycle_long">test_addprevious_cycle_long()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_cycle">test_addprevious_cycle()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_noops">test_addprevious_noops()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_cycle_long">test_addprevious_cycle_long()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_pi">test_addprevious_pi()</a><br />
+<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&nbsp;<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_start">test_html_iterparse_start()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_anonymous_namespace">test_anonymous_namespace()</a><br />
-<span class="index-where">(in&nbsp;<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_addprevious_root_pi">test_addprevious_root_pi()</a><br />
+<span class="index-where">(in&nbsp;<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">test_html_parser_target_doctype_html()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_append_error">test_append_error()</a><br />
-<span class="index-where">(in&nbsp;<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_anonymous_namespace">test_anonymous_namespace()</a><br />
+<span class="index-where">(in&nbsp;<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_parser_target_doctype_html_full">test_html_parser_target_doctype_html_full()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_append_recursive_error">test_append_recursive_error()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_append_error">test_append_error()</a><br />
 <span class="index-where">(in&nbsp;<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_tag">test_html_parser_target_tag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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">test_attrib()</a><br />
-<span class="index-where">(in&nbsp;<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_append_recursive_error">test_append_recursive_error()</a><br />
+<span class="index-where">(in&nbsp;<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_prefix_nsmap">test_html_prefix_nsmap()</a><br />
 <span class="index-where">(in&nbsp;<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_default">test_sub_data_element_nsmap_default()</a><br />
 <span class="index-where">(in&nbsp;<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_attrib_and_keywords">test_attrib_and_keywords()</a><br />
-<span class="index-where">(in&nbsp;<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_attrib">test_attrib()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_empty">test_sub_data_element_nsmap_empty()</a><br />
 <span class="index-where">(in&nbsp;<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_as_attrib">test_attrib_as_attrib()</a><br />
-<span class="index-where">(in&nbsp;<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_attrib_and_keywords">test_attrib_and_keywords()</a><br />
+<span class="index-where">(in&nbsp;<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_subelement_name_empty">test_html_subelement_name_empty()</a><br />
 <span class="index-where">(in&nbsp;<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_element_nsmap_custom">test_sub_element_nsmap_custom()</a><br />
 <span class="index-where">(in&nbsp;<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_clear">test_attrib_clear()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_as_attrib">test_attrib_as_attrib()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_copy">test_attrib_copy()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_clear">test_attrib_clear()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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 />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_copy">test_attrib_copy()</a><br />
 <span class="index-where">(in&nbsp;<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-module.html">test_htmlparser</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_get">test_attrib_get()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_ns_clear">test_attrib_ns_clear()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_get">test_attrib_get()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_attrib_order">test_attrib_order()</a><br />
-<span class="index-where">(in&nbsp;<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_attrib_ns_clear">test_attrib_ns_clear()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_empty">test_subelement_name_empty()</a><br />
 <span class="index-where">(in&nbsp;<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">test_attrib_pop()</a><br />
-<span class="index-where">(in&nbsp;<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_attrib_order">test_attrib_order()</a><br />
+<span class="index-where">(in&nbsp;<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.EncodingsTestCase-class.html#test_illegal_utf8">test_illegal_utf8()</a><br />
 <span class="index-where">(in&nbsp;<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_quote">test_subelement_name_quote()</a><br />
 <span class="index-where">(in&nbsp;<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_default">test_attrib_pop_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop">test_attrib_pop()</a><br />
 <span class="index-where">(in&nbsp;<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.EncodingsTestCase-class.html#test_illegal_utf8_recover">test_illegal_utf8_recover()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_unicode.EncodingsTestCase-class.html">EncodingsTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_empty_default">test_attrib_pop_empty_default()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_default">test_attrib_pop_default()</a><br />
 <span class="index-where">(in&nbsp;<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_incremental_xmlfile</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_invalid_args">test_attrib_pop_invalid_args()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_attrib_pop_empty_default">test_attrib_pop_empty_default()</a><br />
 <span class="index-where">(in&nbsp;<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_index">test_index()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_unknown">test_attrib_pop_unknown()</a><br />
+<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&nbsp;<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">test_insert()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_set_clear">test_attrib_set_clear()</a><br />
+<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&nbsp;<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_beyond_index">test_insert_beyond_index()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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">test_attribute()</a><br />
-<span class="index-where">(in&nbsp;<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_attrib_set_clear">test_attrib_set_clear()</a><br />
+<span class="index-where">(in&nbsp;<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_negative">test_insert_negative()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_attribute_based_lookup">test_attribute_based_lookup()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_attribute">test_attribute()</a><br />
+<span class="index-where">(in&nbsp;<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_insert_tail">test_insert_tail()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_contains">test_attribute_contains()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_based_lookup">test_attribute_based_lookup()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</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&nbsp;<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&nbsp;<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_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&nbsp;<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_attribute_contains">test_attribute_contains()</a><br />
+<span class="index-where">(in&nbsp;<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_io</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge_with_nons">test_attribute_gets_namespace_prefix_on_merge_with_nons()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_attribute_has_key">test_attribute_has_key()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge_with_nons">test_attribute_gets_namespace_prefix_on_merge_with_nons()</a><br />
 <span class="index-where">(in&nbsp;<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-module.html">test_isoschematron</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_attribute_items">test_attribute_items()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_has_key">test_attribute_has_key()</a><br />
+<span class="index-where">(in&nbsp;<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_iter">test_iter()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_items2">test_attribute_items2()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_items_ns">test_attribute_items_ns()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_iterator">test_attribute_iterator()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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_attribute_iterator">test_attribute_iterator()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_attribute_keeps_namespace_prefix_on_merge_with_nons">test_attribute_keeps_namespace_prefix_on_merge_with_nons()</a><br />
+<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&nbsp;<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_crash">test_iteration_crash()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_keys">test_attribute_keys()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_keeps_namespace_prefix_on_merge_with_nons">test_attribute_keeps_namespace_prefix_on_merge_with_nons()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_keys2">test_attribute_keys2()</a><br />
+<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&nbsp;<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_double">test_iteration_double()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_attribute_keys_ns">test_attribute_keys_ns()</a><br />
+<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&nbsp;<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_empty">test_iteration_empty()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_attribute_manipulation">test_attribute_manipulation()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_attribute_namespace_roundtrip">test_attribute_namespace_roundtrip()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_namespace_roundtrip_replaced">test_attribute_namespace_roundtrip_replaced()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_set">test_attribute_set()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_attribute_set">test_attribute_set()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_set">test_attribute_set()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_attribute_set_invalid">test_attribute_set_invalid()</a><br />
+<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&nbsp;<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">test_iterchildren_tag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_str">test_attribute_str()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_set_invalid">test_attribute_set_invalid()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_update_attrib">test_attribute_update_attrib()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_set_nonstring">test_attribute_set_nonstring()</a><br />
+<span class="index-where">(in&nbsp;<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_posarg">test_iterchildren_tag_multiple_posarg()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_attribute_update_dict">test_attribute_update_dict()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_update_iter">test_attribute_update_iter()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_update_sequence">test_attribute_update_sequence()</a><br />
+<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&nbsp;<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_reversed">test_iterchildren_tag_reversed()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_attribute_values">test_attribute_values()</a><br />
+<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&nbsp;<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_iterdescendants">test_iterdescendants()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_values">test_attribute_values()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_update_sequence">test_attribute_update_sequence()</a><br />
+<span class="index-where">(in&nbsp;<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_iterdescendants_tag">test_iterdescendants_tag()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_attribute_values_ns">test_attribute_values_ns()</a><br />
+<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&nbsp;<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_iterdescendants_tag_multiple">test_iterdescendants_tag_multiple()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_attribute_xmlns_move">test_attribute_xmlns_move()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_values">test_attribute_values()</a><br />
+<span class="index-where">(in&nbsp;<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">test_iterparse()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_attributes_get">test_attributes_get()</a><br />
+<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&nbsp;<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_iterparse_attrib_ns">test_iterparse_attrib_ns()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_errors.ErrorTestCase-class.html#test_bad_element">test_bad_element()</a><br />
-<span class="index-where">(in&nbsp;<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_attribute_xmlns_move">test_attribute_xmlns_move()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_broken">test_iterparse_broken()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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#test_buffering">test_buffering()</a><br />
-<span class="index-where">(in&nbsp;<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_attributes_get">test_attributes_get()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_broken_multi_recover">test_iterparse_broken_multi_recover()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_buffering">test_buffering()</a><br />
-<span class="index-where">(in&nbsp;<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_bad_element">test_bad_element()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_broken_recover">test_iterparse_broken_recover()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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.BuilderTestCase-class.html#test_build_from_xpath_result">test_build_from_xpath_result()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_builder.BuilderTestCase-class.html">BuilderTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#test_buffering">test_buffering()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_cdata">test_iterparse_cdata()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_build_tree">test_build_tree()</a><br />
-<span class="index-where">(in&nbsp;<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_buffering">test_buffering()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_clear">test_iterparse_clear()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<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&nbsp;<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_comments">test_iterparse_comments()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_build_tree">test_build_tree()</a><br />
+<span class="index-where">(in&nbsp;<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_encoding_8bit_override">test_iterparse_encoding_8bit_override()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_zero">test_byte_zero()</a><br />
-<span class="index-where">(in&nbsp;<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">test_builder</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_encoding_error">test_iterparse_encoding_error()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n">test_c14n()</a><br />
-<span class="index-where">(in&nbsp;<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_byte_invalid">test_byte_invalid()</a><br />
+<span class="index-where">(in&nbsp;<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_file">test_iterparse_file()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_element_tostring_exclusive">test_c14n_element_tostring_exclusive()</a><br />
-<span class="index-where">(in&nbsp;<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_byte_zero">test_byte_zero()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_file_dtd_end">test_iterparse_file_dtd_end()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_element_tostring_with_comments">test_c14n_element_tostring_with_comments()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n">test_c14n()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_exclusive">test_c14n_exclusive()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_element_tostring_exclusive">test_c14n_element_tostring_exclusive()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_file">test_c14n_file()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_element_tostring_with_comments">test_c14n_element_tostring_with_comments()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_file_gzip">test_c14n_file_gzip()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_exclusive">test_c14n_exclusive()</a><br />
 <span class="index-where">(in&nbsp;<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_large">test_iterparse_large()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_gzip">test_c14n_gzip()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_file">test_c14n_file()</a><br />
 <span class="index-where">(in&nbsp;<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_move_elements">test_iterparse_move_elements()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_tostring_exclusive">test_c14n_tostring_exclusive()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_file_gzip">test_c14n_file_gzip()</a><br />
 <span class="index-where">(in&nbsp;<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_pis">test_iterparse_pis()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_tostring_inclusive_ns_prefixes">test_c14n_tostring_inclusive_ns_prefixes()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_gzip">test_c14n_gzip()</a><br />
 <span class="index-where">(in&nbsp;<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_remove_comments">test_iterparse_remove_comments()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_tostring_with_comments">test_c14n_tostring_with_comments()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_exclusive">test_c14n_tostring_exclusive()</a><br />
 <span class="index-where">(in&nbsp;<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_start">test_iterparse_start()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_with_comments">test_c14n_with_comments()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_inclusive_ns_prefixes">test_c14n_tostring_inclusive_ns_prefixes()</a><br />
 <span class="index-where">(in&nbsp;<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_start_end">test_iterparse_start_end()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_c_api">test_c_api()</a><br />
-<span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_tostring_with_comments">test_c14n_tostring_with_comments()</a><br />
+<span class="index-where">(in&nbsp;<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_strip">test_iterparse_strip()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_cdata()</a><br />
-<span class="index-where">(in&nbsp;<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.ETreeC14NTestCase-class.html#test_c14n_with_comments">test_c14n_with_comments()</a><br />
+<span class="index-where">(in&nbsp;<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_tag">test_iterparse_tag()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_cdata()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_errors">test_cdata_errors()</a><br />
-<span class="index-where">(in&nbsp;<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.BuilderTestCase-class.html#test_cdata">test_cdata()</a><br />
+<span class="index-where">(in&nbsp;<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_tag_ns">test_iterparse_tag_ns()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_parser">test_cdata_parser()</a><br />
+<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&nbsp;<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_all">test_iterparse_tag_ns_all()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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.BuilderTestCase-class.html#test_cdata_solo">test_cdata_solo()</a><br />
-<span class="index-where">(in&nbsp;<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_cdata_errors">test_cdata_errors()</a><br />
+<span class="index-where">(in&nbsp;<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_empty">test_iterparse_tag_ns_empty()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_empty_all">test_iterparse_tag_ns_empty_all()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<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.BuilderTestCase-class.html#test_cdata_solo">test_cdata_solo()</a><br />
+<span class="index-where">(in&nbsp;<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_tree_comments">test_iterparse_tree_comments()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_change_pytype_attribute">test_change_pytype_attribute()</a><br />
-<span class="index-where">(in&nbsp;<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_cdata_type">test_cdata_type()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_utf16_bom">test_iterparse_utf16_bom()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_child">test_child()</a><br />
-<span class="index-where">(in&nbsp;<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_cdata_xpath">test_cdata_xpath()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse_utf8_bom">test_iterparse_utf8_bom()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_change_pytype_attribute">test_change_pytype_attribute()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_getattr">test_child_getattr()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child">test_child()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_getattr_empty_ns">test_child_getattr_empty_ns()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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 />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_getattr">test_child_getattr()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_neg">test_child_index_neg()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_getattr_empty_ns">test_child_getattr_empty_ns()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_iter">test_child_iter()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_len">test_child_len()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_index_neg">test_child_index_neg()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_nonexistant">test_child_nonexistant()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_iter">test_child_iter()</a><br />
 <span class="index-where">(in&nbsp;<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_clear">test_iterwalk_clear()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_ns_nons">test_child_ns_nons()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_len">test_child_len()</a><br />
 <span class="index-where">(in&nbsp;<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_getiterator">test_iterwalk_getiterator()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_set_ro">test_child_set_ro()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_nonexistant">test_child_nonexistant()</a><br />
 <span class="index-where">(in&nbsp;<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_start">test_iterwalk_start()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_class_lookup">test_class_lookup()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_child_ns_nons">test_child_ns_nons()</a><br />
 <span class="index-where">(in&nbsp;<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_start_end">test_iterwalk_start_end()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_class_lookup_reentry">test_class_lookup_reentry()</a><br />
-<span class="index-where">(in&nbsp;<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_child_set_ro">test_child_set_ro()</a><br />
+<span class="index-where">(in&nbsp;<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_tag">test_iterwalk_tag()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_class_lookup_type_mismatch">test_class_lookup_type_mismatch()</a><br />
-<span class="index-where">(in&nbsp;<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_class_lookup">test_class_lookup()</a><br />
+<span class="index-where">(in&nbsp;<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_tag_all">test_iterwalk_tag_all()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_io._IOTestCaseBase-class.html#test_class_parse_filename">test_class_parse_filename()</a><br />
-<span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_class_lookup_reentry">test_class_lookup_reentry()</a><br />
+<span class="index-where">(in&nbsp;<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_large_sourceline_XML">test_large_sourceline_XML()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_io._IOTestCaseBase-class.html#test_class_parse_filename_remove_previous">test_class_parse_filename_remove_previous()</a><br />
-<span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_class_lookup_type_mismatch">test_class_lookup_type_mismatch()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</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&nbsp;<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&nbsp;<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_io._IOTestCaseBase-class.html#test_class_parse_fileobject">test_class_parse_fileobject()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_class_parse_filename">test_class_parse_filename()</a><br />
 <span class="index-where">(in&nbsp;<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_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_attrib">test_lookup_attrib()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_io._IOTestCaseBase-class.html#test_class_parse_unamed_fileobject">test_class_parse_unamed_fileobject()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_class_parse_filename_remove_previous">test_class_parse_filename_remove_previous()</a><br />
 <span class="index-where">(in&nbsp;<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_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_bool">test_lookup_bool()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_classlookup-module.html">test_classlookup</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_io._IOTestCaseBase-class.html#test_class_parse_fileobject">test_class_parse_fileobject()</a><br />
+<span class="index-where">(in&nbsp;<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_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_get">test_lookup_get()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_class_parse_unamed_fileobject">test_class_parse_unamed_fileobject()</a><br />
+<span class="index-where">(in&nbsp;<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_pyclasslookup.PyClassLookupTestCase-class.html#test_lookup_get_default">test_lookup_get_default()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_sub">test_clear_sub()</a><br />
-<span class="index-where">(in&nbsp;<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-module.html">test_classlookup</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_getitem">test_lookup_getitem()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_closing_out_of_order_in_error_case">test_closing_out_of_order_in_error_case()</a><br />
-<span class="index-where">(in&nbsp;<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_clear_sub">test_clear_sub()</a><br />
+<span class="index-where">(in&nbsp;<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_getitem_neg">test_lookup_getitem_neg()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_getnext">test_lookup_getnext()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_getparent">test_lookup_getparent()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_classlookup.ProxyTestCase-class.html#test_comment_base">test_comment_base()</a><br />
-<span class="index-where">(in&nbsp;<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_comment">test_comment()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_comment_empty">test_comment_empty()</a><br />
-<span class="index-where">(in&nbsp;<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_comment">test_comment()</a><br />
+<span class="index-where">(in&nbsp;<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_getslice">test_lookup_getslice()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_getitem_getslice">test_comment_getitem_getslice()</a><br />
-<span class="index-where">(in&nbsp;<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_comment_base">test_comment_base()</a><br />
+<span class="index-where">(in&nbsp;<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_iter_children">test_lookup_iter_children()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_comment_immutable">test_comment_immutable()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_empty">test_comment_empty()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_comment_immutable_attrib">test_comment_immutable_attrib()</a><br />
-<span class="index-where">(in&nbsp;<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_comment_getitem_getslice">test_comment_getitem_getslice()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_comment_no_proxy_yet">test_comment_no_proxy_yet()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_immutable">test_comment_immutable()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_nonsense">test_comment_nonsense()</a><br />
-<span class="index-where">(in&nbsp;<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_comment_immutable_attrib">test_comment_immutable_attrib()</a><br />
+<span class="index-where">(in&nbsp;<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_len">test_lookup_len()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_comment_parse_empty">test_comment_parse_empty()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_no_proxy_yet">test_comment_no_proxy_yet()</a><br />
 <span class="index-where">(in&nbsp;<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_prefix">test_lookup_prefix()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_text">test_comment_text()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_comment_nonsense">test_comment_nonsense()</a><br />
 <span class="index-where">(in&nbsp;<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_sourceline">test_lookup_sourceline()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_whitespace">test_comment_whitespace()</a><br />
-<span class="index-where">(in&nbsp;<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_comment_parse_empty">test_comment_parse_empty()</a><br />
+<span class="index-where">(in&nbsp;<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_tag">test_lookup_tag()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_threading.ThreadingTestCase-class.html#test_concurrent_class_lookup">test_concurrent_class_lookup()</a><br />
-<span class="index-where">(in&nbsp;<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_comment_text">test_comment_text()</a><br />
+<span class="index-where">(in&nbsp;<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_tail">test_lookup_tail()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_threading.ThreadingTestCase-class.html#test_concurrent_proxies">test_concurrent_proxies()</a><br />
-<span class="index-where">(in&nbsp;<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_comment_whitespace">test_comment_whitespace()</a><br />
+<span class="index-where">(in&nbsp;<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_text">test_lookup_text()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_countchildren">test_countchildren()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#test_concurrent_class_lookup">test_concurrent_class_lookup()</a><br />
+<span class="index-where">(in&nbsp;<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.ClassLookupTestCase-class.html#test_lookup_without_fallback">test_lookup_without_fallback()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_crash">test_crash()</a><br />
-<span class="index-where">(in&nbsp;<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_concurrent_proxies">test_concurrent_proxies()</a><br />
+<span class="index-where">(in&nbsp;<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.ThreadingTestCase-class.html#test_main_xslt_in_thread">test_main_xslt_in_thread()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_create_element">test_create_element()</a><br />
-<span class="index-where">(in&nbsp;<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_countchildren">test_countchildren()</a><br />
+<span class="index-where">(in&nbsp;<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_makeelement">test_makeelement()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_create_element_default">test_create_element_default()</a><br />
-<span class="index-where">(in&nbsp;<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_crash">test_crash()</a><br />
+<span class="index-where">(in&nbsp;<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_merge_namespaced_subtree_as_slice">test_merge_namespaced_subtree_as_slice()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_css-module.html">test_css</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_create_element">test_create_element()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</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&nbsp;<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_unregistered">test_type_unregistered()</a><br />
 <span class="index-where">(in&nbsp;<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_css.CSSTestCase-class.html#test_cssselect">test_cssselect()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_css.CSSTestCase-class.html">CSSTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_create_element_default">test_create_element_default()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</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&nbsp;<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">test_type_ustr()</a><br />
 <span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_custom_lookup">test_custom_lookup()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_css-module.html">test_css</a><br />
+<span class="index-where">(in&nbsp;<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_module_HTML_broken">test_module_HTML_broken()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_custom_lookup_ns_fallback">test_custom_lookup_ns_fallback()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_css.CSSTestCase-class.html#test_cssselect">test_cssselect()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_css.CSSTestCase-class.html">CSSTestCase</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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_attrib_attributes_precedence">test_data_element_attrib_attributes_precedence()</a><br />
-<span class="index-where">(in&nbsp;<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_custom_lookup">test_custom_lookup()</a><br />
+<span class="index-where">(in&nbsp;<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_pretty_print">test_module_HTML_pretty_print()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_bool">test_data_element_bool()</a><br />
-<span class="index-where">(in&nbsp;<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_custom_lookup_ns_fallback">test_custom_lookup_ns_fallback()</a><br />
+<span class="index-where">(in&nbsp;<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_unicode">test_module_HTML_unicode()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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">test_data_element_data_element_arg()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_attrib_attributes_precedence">test_data_element_attrib_attributes_precedence()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_pytype">test_data_element_data_element_arg_invalid_pytype()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_bool">test_data_element_bool()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_invalid_xsi">test_data_element_data_element_arg_invalid_xsi()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg">test_data_element_data_element_arg()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_pytype">test_data_element_data_element_arg_pytype()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_pytype_none">test_data_element_data_element_arg_pytype_none()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_pytype_xsitype">test_data_element_data_element_arg_pytype_xsitype()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_xsitype">test_data_element_data_element_arg_xsitype()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_pytype_none">test_data_element_data_element_arg_pytype_none()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_element_arg">test_data_element_element_arg()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_data_element_arg_pytype_xsitype">test_data_element_data_element_arg_pytype_xsitype()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html">HtmlParserTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_float">test_data_element_float()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_io._IOTestCaseBase-class.html" onclick="show_private();">_IOTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_float_hash">test_data_element_float_hash()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#test_data_element_element_arg">test_data_element_element_arg()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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">test_data_element_float()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html">ETreeRelaxNGTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_hash">test_data_element_float_hash()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.tests.test_classlookup.ClassLookupTestCase-class.html">ClassLookupTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_pytype_none_compat">test_data_element_pytype_none_compat()</a><br />
+<span class="index-where">(in&nbsp;<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 />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_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_pytypes">test_data_element_pytypes()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_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&nbsp;<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&nbsp;<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&nbsp;<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_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&nbsp;<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&nbsp;<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&nbsp;<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_write">test_write()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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&nbsp;<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_etree.ETreeWriteTestCase-class.html#test_write">test_write()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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&nbsp;<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&nbsp;<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.ETreeIOTestCase-class.html#test_write_compressed_text">test_write_compressed_text()</a><br />
 <span class="index-where">(in&nbsp;<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_data_element_ustr">test_data_element_ustr()</a><br />
+<span class="index-where">(in&nbsp;<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_access2">test_ns_access2()</a><br />
+<span class="index-where">(in&nbsp;<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.HtmlFileTestCase-class.html#test_write_declaration">test_write_declaration()</a><br />
+<span class="index-where">(in&nbsp;<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_floatliteral">test_data_element_ustr_floatliteral()</a><br />
 <span class="index-where">(in&nbsp;<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_attr">test_ns_attr()</a><br />
 <span class="index-where">(in&nbsp;<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">test_write_Element()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a>)</span></td>
 <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 />
 <span class="index-where">(in&nbsp;<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_access2">test_ns_access2()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html">ETreeNamespaceClassesTestCase</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&nbsp;<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_data_element_xsitypes">test_data_element_xsitypes()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 <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 />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</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&nbsp;<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_default">test_ns_decl_tostring_default()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_xsdprefixed">test_data_element_xsitypes_xsdprefixed()</a><br />
 <span class="index-where">(in&nbsp;<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_decl_tostring">test_ns_decl_tostring()</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&nbsp;<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">test_write_file()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
 <tr>
 <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&nbsp;<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_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_root">test_ns_decl_tostring_root()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
 <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 />
 <span class="index-where">(in&nbsp;<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_decl_tostring_element">test_ns_decl_tostring_element()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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_file_gzip_parse">test_write_file_gzip_parse()</a><br />
 <span class="index-where">(in&nbsp;<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_prefix_error">test_dataelement_xsi_prefix_error()</a><br />
 <span class="index-where">(in&nbsp;<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_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_ns_move">test_ns_move()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
 <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 />
 <span class="index-where">(in&nbsp;<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._XMLPullParserTest-class.html#test_ns_events">test_ns_events()</a><br />
-<span class="index-where">(in&nbsp;<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_ns_setting">test_ns_setting()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_objectify.ObjectifyTestCase-class.html#test_date_element_efactory_text">test_date_element_efactory_text()</a><br />
 <span class="index-where">(in&nbsp;<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_move">test_ns_move()</a><br />
+<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&nbsp;<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">test_write_gzip()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</a>)</span></td>
 <tr>
 <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&nbsp;<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_setting">test_ns_setting()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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&nbsp;<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_tag_parse">test_ns_tag_parse()</a><br />
-<span class="index-where">(in&nbsp;<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 />
+<span class="index-where">(in&nbsp;<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_write_invalid_filename">test_write_invalid_filename()</a><br />
 <span class="index-where">(in&nbsp;<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_append">test_deepcopy_append()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_object_path">test_object_path()</a><br />
+<span class="index-where">(in&nbsp;<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_write_method_html">test_write_method_html()</a><br />
 <span class="index-where">(in&nbsp;<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_deepcopy_comment">test_deepcopy_comment()</a><br />
 <span class="index-where">(in&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_addattr">test_object_path_addattr()</a><br />
+<span class="index-where">(in&nbsp;<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_write_method_text">test_write_method_text()</a><br />
 <span class="index-where">(in&nbsp;<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_deepcopy_elementtree">test_deepcopy_elementtree()</a><br />
 <span class="index-where">(in&nbsp;<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_create">test_object_path_addattr_create()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_etree._XIncludeTestCase-class.html" onclick="show_private();">_XIncludeTestCase</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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_dtd">test_deepcopy_elementtree_dtd()</a><br />
 <span class="index-where">(in&nbsp;<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_addattr">test_object_path_addattr()</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&nbsp;<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 />
+<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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_pi">test_deepcopy_elementtree_pi()</a><br />
 <span class="index-where">(in&nbsp;<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_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_list">test_object_path_addattr_create_list()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_namespaces">test_deepcopy_namespaces()</a><br />
 <span class="index-where">(in&nbsp;<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_element">test_object_path_addattr_create_element()</a><br />
+<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&nbsp;<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 />
+<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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi">test_deepcopy_pi()</a><br />
 <span class="index-where">(in&nbsp;<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_addattr_create_list">test_object_path_addattr_create_list()</a><br />
+<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&nbsp;<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&nbsp;<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_subelement">test_deepcopy_subelement()</a><br />
+<span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_deepcopy_subelement">test_deepcopy_subelement()</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&nbsp;<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_element">test_object_path_addattr_element()</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&nbsp;<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&nbsp;<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_deepcopy_tail">test_deepcopy_tail()</a><br />
-<span class="index-where">(in&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup">test_default_class_lookup()</a><br />
+<span class="index-where">(in&nbsp;<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_dot_list">test_object_path_dot_list()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup">test_default_class_lookup()</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&nbsp;<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_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_root">test_object_path_dot_root()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_default_class_lookup_pull_parser">test_default_class_lookup_pull_parser()</a><br />
-<span class="index-where">(in&nbsp;<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_dot">test_object_path_dot()</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&nbsp;<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_dot_root_list">test_object_path_dot_root_list()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_default_namespace">test_default_namespace()</a><br />
-<span class="index-where">(in&nbsp;<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_dot_list">test_object_path_dot_list()</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&nbsp;<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_fail">test_object_path_fail()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_htmlparser.HtmlParserTestCase-class.html#test_default_parser_HTML_broken">test_default_parser_HTML_broken()</a><br />
-<span class="index-where">(in&nbsp;<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_dot_root">test_object_path_dot_root()</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&nbsp;<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_fail_parse_empty">test_object_path_fail_parse_empty()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_nsclasses.ETreeNamespaceClassesTestCase-class.html#test_default_tagname">test_default_tagname()</a><br />
-<span class="index-where">(in&nbsp;<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_dot_root_list">test_object_path_dot_root_list()</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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_del_attribute_ns()</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&nbsp;<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_hasattr">test_object_path_hasattr()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_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_insert">test_del_insert()</a><br />
 <span class="index-where">(in&nbsp;<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_index">test_object_path_index()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_insert">test_del_insert()</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&nbsp;<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_index_fail_lookup">test_object_path_index_fail_lookup()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_setslice">test_del_setslice()</a><br />
 <span class="index-where">(in&nbsp;<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_fail_parse">test_object_path_index_fail_parse()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_setslice">test_del_setslice()</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&nbsp;<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_list">test_object_path_index_list()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_delitem">test_delitem()</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&nbsp;<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_list">test_object_path_list()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_delitem_tail">test_delitem_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&nbsp;<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_ns">test_object_path_ns()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_delslice()</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&nbsp;<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_ns_list">test_object_path_ns_list()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_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_memory">test_delslice_memory()</a><br />
 <span class="index-where">(in&nbsp;<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_set">test_object_path_set()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_memory">test_delslice_memory()</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&nbsp;<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_set_create">test_object_path_set_create()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_negative1">test_delslice_negative1()</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&nbsp;<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_list">test_object_path_ns_list()</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&nbsp;<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&nbsp;<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_negative2">test_delslice_negative2()</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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_step_negative">test_delslice_step_negative()</a><br />
 <span class="index-where">(in&nbsp;<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_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_element">test_object_path_set_element()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_negative2">test_delslice_step_negative2()</a><br />
 <span class="index-where">(in&nbsp;<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_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_object_path_syntax">test_object_path_syntax()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_tail">test_delslice_tail()</a><br />
 <span class="index-where">(in&nbsp;<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_create_list">test_object_path_set_create_list()</a><br />
-<span class="index-where">(in&nbsp;<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-module.html">test_objectify</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_element">test_object_path_set_element()</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&nbsp;<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.HtmlFileTestCase-class.html#test_open_namespaced_element">test_open_namespaced_element()</a><br />
+<span class="index-where">(in&nbsp;<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_invalid_schema2">test_xmlschema_invalid_schema2()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_syntax">test_object_path_syntax()</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&nbsp;<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_parse_base_url_docinfo">test_parse_base_url_docinfo()</a><br />
+<span class="index-where">(in&nbsp;<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_iterparse">test_xmlschema_iterparse()</a><br />
 <span class="index-where">(in&nbsp;<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_prefix">test_descendant_paths_prefix()</a><br />
+<span class="index-where">(in&nbsp;<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_parse_base_url_docinfo">test_parse_base_url_docinfo()</a><br />
 <span class="index-where">(in&nbsp;<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-module.html">test_objectify</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_parse_base_url_docinfo">test_parse_base_url_docinfo()</a><br />
-<span class="index-where">(in&nbsp;<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.DoctestCompareTest-class.html#test_differing_attributes">test_differing_attributes()</a><br />
+<span class="index-where">(in&nbsp;<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_parse_cdata">test_parse_cdata()</a><br />
+<span class="index-where">(in&nbsp;<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_nested_resolvers">test_xmlschema_nested_resolvers()</a><br />
 <span class="index-where">(in&nbsp;<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_doctestcompare.DoctestCompareTest-class.html#test_differing_attributes">test_differing_attributes()</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&nbsp;<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_parse_base_url_docinfo">test_parse_base_url_docinfo()</a><br />
-<span class="index-where">(in&nbsp;<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_parse_encoding_8bit_explicit">test_parse_encoding_8bit_explicit()</a><br />
+<span class="index-where">(in&nbsp;<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">test_xmlschema_parse()</a><br />
 <span class="index-where">(in&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_parse_cdata">test_parse_cdata()</a><br />
-<span class="index-where">(in&nbsp;<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_dir">test_dir()</a><br />
+<span class="index-where">(in&nbsp;<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_parse_encoding_8bit_explicit">test_parse_encoding_8bit_explicit()</a><br />
+<span class="index-where">(in&nbsp;<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_parse_default_attributes">test_xmlschema_parse_default_attributes()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_parse_encoding_8bit_explicit">test_parse_encoding_8bit_explicit()</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&nbsp;<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&nbsp;<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_default_attributes_schema_config">test_xmlschema_parse_default_attributes_schema_config()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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 />
+<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&nbsp;<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_parse_fixed_attributes">test_xmlschema_parse_fixed_attributes()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_public">test_docinfo_public()</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&nbsp;<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_override">test_parse_encoding_8bit_override()</a><br />
-<span class="index-where">(in&nbsp;<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_parse_error_from_file">test_parse_error_from_file()</a><br />
+<span class="index-where">(in&nbsp;<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_noroot">test_xmlschema_resolvers_noroot()</a><br />
 <span class="index-where">(in&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_error">test_parse_error()</a><br />
-<span class="index-where">(in&nbsp;<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-module.html">test_doctestcompare</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</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&nbsp;<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_doctestcompare-module.html">test_doctestcompare</a><br />
-<span class="index-where">(in&nbsp;<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_error_from_file">test_parse_error_from_file()</a><br />
+<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&nbsp;<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_error_none">test_parse_error_none()</a><br />
 <span class="index-where">(in&nbsp;<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_shortcut">test_xmlschema_shortcut()</a><br />
 <span class="index-where">(in&nbsp;<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_doctype_output_override">test_doctype_output_override()</a><br />
 <span class="index-where">(in&nbsp;<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.ETreeErrorLogTest-class.html#test_parse_error_logging">test_parse_error_logging()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_error_none">test_parse_error_none()</a><br />
-<span class="index-where">(in&nbsp;<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_dtd</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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.ETreeXPathTestCase-class.html#test_xpath_boolean">test_xpath_boolean()</a><br />
 <span class="index-where">(in&nbsp;<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-module.html">test_dtd</a><br />
-<span class="index-where">(in&nbsp;<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_file">test_parse_file()</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&nbsp;<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&nbsp;<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_error">test_xpath_class_error()</a><br />
 <span class="index-where">(in&nbsp;<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">test_dtd()</a><br />
-<span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_api_internal">test_dtd_api_internal()</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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_assertValid">test_dtd_assertValid()</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&nbsp;<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 />
+<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&nbsp;<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_element">test_xpath_compile_element()</a><br />
 <span class="index-where">(in&nbsp;<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_attrs">test_dtd_attrs()</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&nbsp;<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&nbsp;<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_parse_fileobject_unicode">test_parse_fileobject_unicode()</a><br />
+<span class="index-where">(in&nbsp;<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_compile_error">test_xpath_compile_error()</a><br />
 <span class="index-where">(in&nbsp;<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_broken">test_dtd_broken()</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&nbsp;<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&nbsp;<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_parse_parser_type_error">test_parse_parser_type_error()</a><br />
+<span class="index-where">(in&nbsp;<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.ETreeETXPathClassTestCase-class.html#test_xpath_compile_ns">test_xpath_compile_ns()</a><br />
 <span class="index-where">(in&nbsp;<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_file">test_dtd_file()</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&nbsp;<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_remove_comments">test_parse_remove_comments()</a><br />
 <span class="index-where">(in&nbsp;<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_compile_vars">test_xpath_compile_vars()</a><br />
 <span class="index-where">(in&nbsp;<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_internal">test_dtd_internal()</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&nbsp;<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_pis">test_parse_remove_pis()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_invalid">test_dtd_invalid()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_stringio">test_parse_stringio()</a><br />
+<span class="index-where">(in&nbsp;<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_document_root">test_xpath_document_root()</a><br />
 <span class="index-where">(in&nbsp;<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_invalid">test_dtd_invalid()</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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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&nbsp;<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_error">test_xpath_error()</a><br />
-<span class="index-where">(in&nbsp;<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_dtd_io">test_dtd_io()</a><br />
 <span class="index-where">(in&nbsp;<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_stringio_base_url">test_parse_stringio_base_url()</a><br />
-<span class="index-where">(in&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_file_not_found">test_dtd_parse_file_not_found()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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_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_error">test_xpath_error()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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">test_xpath_evaluator()</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&nbsp;<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&nbsp;<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_with_encoding">test_parse_with_encoding()</a><br />
 <span class="index-where">(in&nbsp;<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_element">test_xpath_evaluator_element()</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&nbsp;<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_file_url">test_dtd_parse_valid_file_url()</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&nbsp;<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_parseid">test_parseid()</a><br />
 <span class="index-where">(in&nbsp;<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_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">test_xpath_evaluator()</a><br />
 <span class="index-where">(in&nbsp;<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_file_url">test_dtd_parse_valid_file_url()</a><br />
 <span class="index-where">(in&nbsp;<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.ClassLookupTestCase-class.html#test_parser_based_lookup">test_parser_based_lookup()</a><br />
 <span class="index-where">(in&nbsp;<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.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_element">test_xpath_evaluator_element()</a><br />
 <span class="index-where">(in&nbsp;<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_relative">test_dtd_parse_valid_relative()</a><br />
 <span class="index-where">(in&nbsp;<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_parser_encoding">test_parser_encoding()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_xpath_evaluator_tree()</a><br />
+<span class="index-where">(in&nbsp;<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_file_url">test_dtd_parse_valid_relative_file_url()</a><br />
 <span class="index-where">(in&nbsp;<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_parser_encoding_unknown">test_parser_encoding_unknown()</a><br />
 <span class="index-where">(in&nbsp;<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_strings">test_xpath_exslt_functions_strings()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_stringio">test_dtd_stringio()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_dtd.ETreeDtdTestCase-class.html">ETreeDtdTestCase</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&nbsp;<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">test_xpath_extensions()</a><br />
-<span class="index-where">(in&nbsp;<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_date">test_xpath_exslt_functions_date()</a><br />
+<span class="index-where">(in&nbsp;<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_attrib">test_efactory_attrib()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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_attrib">test_parser_target_attrib()</a><br />
 <span class="index-where">(in&nbsp;<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_error">test_xpath_extensions_error()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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_bool">test_efactory_bool()</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&nbsp;<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&nbsp;<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_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">test_xpath_extensions()</a><br />
 <span class="index-where">(in&nbsp;<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_bool">test_efactory_bool()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_xpath_extensions_nodes()</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&nbsp;<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_float">test_efactory_float()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_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_mix">test_xpath_extensions_mix()</a><br />
 <span class="index-where">(in&nbsp;<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_nested">test_efactory_nested()</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&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_none">test_efactory_none()</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&nbsp;<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_unknown">test_parser_target_entity_unknown()</a><br />
 <span class="index-where">(in&nbsp;<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_extensions_nodes_append">test_xpath_extensions_nodes_append()</a><br />
 <span class="index-where">(in&nbsp;<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_none">test_efactory_none()</a><br />
 <span class="index-where">(in&nbsp;<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_error_in_close">test_parser_target_error_in_close()</a><br />
 <span class="index-where">(in&nbsp;<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_extensions_nodes_append2">test_xpath_extensions_nodes_append2()</a><br />
 <span class="index-where">(in&nbsp;<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_str">test_efactory_str()</a><br />
 <span class="index-where">(in&nbsp;<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_error_in_end">test_parser_target_error_in_end()</a><br />
 <span class="index-where">(in&nbsp;<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_extensions_wrong_args">test_xpath_extensions_wrong_args()</a><br />
 <span class="index-where">(in&nbsp;<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_subtype">test_efactory_subtype()</a><br />
 <span class="index-where">(in&nbsp;<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_error_in_start">test_parser_target_error_in_start()</a><br />
 <span class="index-where">(in&nbsp;<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_attribute">test_xpath_list_attribute()</a><br />
 <span class="index-where">(in&nbsp;<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_unicode">test_efactory_unicode()</a><br />
 <span class="index-where">(in&nbsp;<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_error_in_start_and_close">test_parser_target_error_in_start_and_close()</a><br />
 <span class="index-where">(in&nbsp;<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_attribute_parent">test_xpath_list_attribute_parent()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_efactory_value_concatenation">test_efactory_value_concatenation()</a><br />
+<span class="index-where">(in&nbsp;<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_feed_exception">test_parser_target_feed_exception()</a><br />
 <span class="index-where">(in&nbsp;<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_elements">test_xpath_list_elements()</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&nbsp;<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&nbsp;<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_element">test_element()</a><br />
+<span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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">test_element()</a><br />
+<span class="index-where">(in&nbsp;<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_parser_target_fromstring_exception">test_parser_target_fromstring_exception()</a><br />
 <span class="index-where">(in&nbsp;<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_elements">test_xpath_list_elements()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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.ETreeOnlyTestCase-class.html#test_parser_target_pi">test_parser_target_pi()</a><br />
 <span class="index-where">(in&nbsp;<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_nothing">test_xpath_list_nothing()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_element_base_children">test_element_base_children()</a><br />
+<span class="index-where">(in&nbsp;<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_property">test_parser_target_property()</a><br />
 <span class="index-where">(in&nbsp;<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_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_xpathevaluator.ETreeXPathTestCase-class.html#test_xpath_list_text">test_xpath_list_text()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_element_contains">test_element_contains()</a><br />
+<span class="index-where">(in&nbsp;<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_recover">test_parser_target_recover()</a><br />
 <span class="index-where">(in&nbsp;<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_list_text_parent">test_xpath_list_text_parent()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_errors.ErrorTestCase-class.html">ErrorTestCase</a>)</span></td>
+<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&nbsp;<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_tag">test_parser_target_tag()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_errors.ErrorTestCase-class.html#test_element_cyclic_gc_none">test_element_cyclic_gc_none()</a><br />
+<span class="index-where">(in&nbsp;<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_version">test_parser_version()</a><br />
 <span class="index-where">(in&nbsp;<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_empty">test_xpath_namespace_empty()</a><br />
+<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&nbsp;<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 />
+<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&nbsp;<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_pi">test_pi()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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 />
+<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&nbsp;<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_pi">test_pi()</a><br />
 <span class="index-where">(in&nbsp;<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_ns_empty">test_xpath_ns_empty()</a><br />
+<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&nbsp;<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 />
+<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&nbsp;<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_pi">test_pi()</a><br />
 <span class="index-where">(in&nbsp;<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_ns_none">test_xpath_ns_none()</a><br />
+<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&nbsp;<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&nbsp;<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_indexing_with_text2">test_element_indexing_with_text2()</a><br />
+<span class="index-where">(in&nbsp;<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_pi_base">test_pi_base()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup.ProxyTestCase-class.html">ProxyTestCase</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 />
+<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&nbsp;<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 />
+<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&nbsp;<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_nonsense">test_pi_nonsense()</a><br />
 <span class="index-where">(in&nbsp;<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_context_node">test_xpath_on_context_node()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</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&nbsp;<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&nbsp;<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&nbsp;<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_xpath_on_foreign_context_node">test_xpath_on_foreign_context_node()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</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&nbsp;<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&nbsp;<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_pseudo_attributes_attrib">test_pi_pseudo_attributes_attrib()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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.ETreeXSLTExtFuncTestCase-class.html#test_xpath_on_context_node">test_xpath_on_context_node()</a><br />
+<span class="index-where">(in&nbsp;<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_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&nbsp;<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_pseudo_attributes_get">test_pi_pseudo_attributes_get()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_names">test_element_names()</a><br />
+<span class="index-where">(in&nbsp;<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 />
+<span class="index-where">(in&nbsp;<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_prefix_error">test_xpath_prefix_error()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_pickle">test_pickle()</a><br />
+<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&nbsp;<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_text_from_other_document">test_xpath_text_from_other_document()</a><br />
+<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&nbsp;<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&nbsp;<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_pickle_boolelement">test_pickle_boolelement()</a><br />
+<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&nbsp;<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">test_xpath_variables()</a><br />
+<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&nbsp;<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_nsmap">test_element_nsmap()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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 />
+<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&nbsp;<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">test_element_nsmap_custom()</a><br />
 <span class="index-where">(in&nbsp;<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_floattelement">test_pickle_floattelement()</a><br />
+<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&nbsp;<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&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_intelement">test_pickle_intelement()</a><br />
-<span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_element_nsmap_default">test_element_nsmap_default()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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 />
+<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&nbsp;<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_element_nsmap_empty">test_element_nsmap_empty()</a><br />
 <span class="index-where">(in&nbsp;<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_strelement">test_pickle_strelement()</a><br />
-<span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_xsiannotate_use_old">test_xsiannotate_use_old()</a><br />
 <span class="index-where">(in&nbsp;<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_element_refcycle">test_element_refcycle()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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_xsitype_deannotate">test_xsitype_deannotate()</a><br />
+<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&nbsp;<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_sax.ETreeSaxTestCase-class.html#test_element_sax">test_element_sax()</a><br />
 <span class="index-where">(in&nbsp;<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_prefix_default_ns">test_prefix_default_ns()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_xsitype_deannotate">test_xsitype_deannotate()</a><br />
+<span class="index-where">(in&nbsp;<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_sax.ETreeSaxTestCase-class.html#test_element_sax_ns">test_element_sax_ns()</a><br />
 <span class="index-where">(in&nbsp;<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_processinginstruction">test_processinginstruction()</a><br />
-<span class="index-where">(in&nbsp;<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">test_xslt()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTTestCase-class.html">ETreeXSLTTestCase</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&nbsp;<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&nbsp;<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">test_element_with_attributes()</a><br />
 <span class="index-where">(in&nbsp;<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">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&nbsp;<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_access_control_repr">test_xslt_access_control_repr()</a><br />
+<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&nbsp;<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_element_with_attributes_keywords">test_element_with_attributes_keywords()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_access_control_repr">test_xslt_access_control_repr()</a><br />
 <span class="index-where">(in&nbsp;<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_element_with_attributes_ns">test_element_with_attributes_ns()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_copy">test_xslt_copy()</a><br />
+<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&nbsp;<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&nbsp;<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_proxy_reuse">test_proxy_reuse()</a><br />
+<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&nbsp;<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 />
+<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_gc">test_proxy_reuse_after_gc()</a><br />
-<span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_elementtree">test_xslt_document_elementtree()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_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&nbsp;<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">test_xslt_document_parse()</a><br />
+<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&nbsp;<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&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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">test_pull_from_tree_builder()</a><br />
+<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&nbsp;<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 />
+<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_document_parse_deny">test_xslt_document_parse_deny()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_pyannotate_empty">test_pyannotate_empty()</a><br />
+<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&nbsp;<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_document_XML">test_xslt_document_XML()</a><br />
+<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_pyannotate_ignore_old">test_pyannotate_ignore_old()</a><br />
+<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&nbsp;<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_document_XML_resolver">test_xslt_document_XML_resolver()</a><br />
+<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&nbsp;<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&nbsp;<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_use_old">test_pyannotate_use_old()</a><br />
-<span class="index-where">(in&nbsp;<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_pyclasslookup-module.html">test_pyclasslookup</a><br />
+<span class="index-where">(in&nbsp;<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_document_XML_resolver">test_xslt_document_XML_resolver()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_pyclasslookup</a><br />
-<span class="index-where">(in&nbsp;<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_empty">test_xslt_empty()</a><br />
+<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&nbsp;<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_elementtree_error">test_xslt_elementtree_error()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_xpathevaluator.ETreeXPathTestCase-class.html">ETreeXPathTestCase</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&nbsp;<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_encoding">test_xslt_encoding()</a><br />
+<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_pytype_annotation">test_pytype_annotation()</a><br />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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_annotation_empty">test_pytype_annotation_empty()</a><br />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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_use_old">test_pytype_annotation_use_old()</a><br />
+<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&nbsp;<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&nbsp;<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&nbsp;<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_deannotate">test_pytype_deannotate()</a><br />
+<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&nbsp;<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&nbsp;<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&nbsp;<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_xsitype_annotation">test_pytype_xsitype_annotation()</a><br />
-<span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_qname">test_qname()</a><br />
+<span class="index-where">(in&nbsp;<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_include_from_filelike">test_xslt_include_from_filelike()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_qname">test_qname()</a><br />
+<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&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_qname_colon">test_qname_colon()</a><br />
+<span class="index-where">(in&nbsp;<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_move_result">test_xslt_move_result()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_namespace_localname">test_qname_namespace_localname()</a><br />
+<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&nbsp;<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&nbsp;<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&nbsp;<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_space">test_qname_space()</a><br />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_register_namespace">test_register_namespace()</a><br />
+<span class="index-where">(in&nbsp;<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_xpath_object">test_xslt_parameter_xpath_object()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_register_namespace">test_register_namespace()</a><br />
-<span class="index-where">(in&nbsp;<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">test_xslt_pi()</a><br />
+<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&nbsp;<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_parameters">test_xslt_parameters()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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&nbsp;<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_embedded_xmlid">test_xslt_pi_embedded_xmlid()</a><br />
+<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&nbsp;<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_embedded_id">test_xslt_pi_embedded_id()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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">test_xslt_pi_get()</a><br />
+<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&nbsp;<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_embedded_xmlid">test_xslt_pi_embedded_xmlid()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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_list_elements">test_rel_xpath_list_elements()</a><br />
-<span class="index-where">(in&nbsp;<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_all_reversed">test_xslt_pi_get_all_reversed()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng-module.html">test_relaxng</a><br />
+<span class="index-where">(in&nbsp;<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_get_all">test_xslt_pi_get_all()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_doctestcompare.DoctestCompareTest-class.html">DoctestCompareTest</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&nbsp;<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_get_unknown">test_xslt_pi_get_unknown()</a><br />
+<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&nbsp;<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_pi_get_all_reversed">test_xslt_pi_get_all_reversed()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng.ETreeRelaxNGTestCase-class.html#test_relaxng">test_relaxng()</a><br />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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_elementtree_error">test_relaxng_elementtree_error()</a><br />
+<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&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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 />
+<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&nbsp;<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&nbsp;<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&nbsp;<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.ETreeRelaxNGTestCase-class.html#test_relaxng_include">test_relaxng_include()</a><br />
+<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&nbsp;<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_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&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_bytearray">test_xslt_result_bytearray()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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 />
+<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&nbsp;<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_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&nbsp;<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_comment_root">test_etree_sax_comment_root()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_error2">test_etree_sax_error2()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_remove">test_remove()</a><br />
+<span class="index-where">(in&nbsp;<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_string_parameters">test_xslt_string_parameters()</a><br />
 <span class="index-where">(in&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_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&nbsp;<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&nbsp;<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&nbsp;<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_utf8">test_xslt_utf8()</a><br />
+<span class="index-where">(in&nbsp;<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 />
+<span class="index-where">(in&nbsp;<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 />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests-module.html">tests</a><br />
 <span class="index-where">(in&nbsp;<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_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_ns1">test_etree_sax_ns1()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_new">test_replace_new()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<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_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_ns2">test_etree_sax_ns2()</a><br />
 <span class="index-where">(in&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_replace_slice_tail">test_replace_slice_tail()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_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_ns_attributes">test_etree_sax_ns_attributes()</a><br />
 <span class="index-where">(in&nbsp;<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_new">test_replace_new()</a><br />
+<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<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_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_pi">test_etree_sax_pi()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_empty">test_resolve_empty()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<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">test_etree_sax_pi()</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&nbsp;<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_resolve_bytes_dtd">test_resolve_bytes_dtd()</a><br />
+<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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<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_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_redefine_ns">test_etree_sax_redefine_ns()</a><br />
 <span class="index-where">(in&nbsp;<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_resolve_empty">test_resolve_empty()</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&nbsp;<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&nbsp;<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_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_simple">test_etree_sax_simple()</a><br />
 <span class="index-where">(in&nbsp;<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_resolve_error">test_resolve_error()</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&nbsp;<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&nbsp;<a href="lxml.html.HtmlMixin-class.html">HtmlMixin</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 />
-<span class="index-where">(in&nbsp;<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_resolve_file_dtd">test_resolve_file_dtd()</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&nbsp;<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_filename_dtd">test_resolve_filename_dtd()</a><br />
 <span class="index-where">(in&nbsp;<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#TEXTAREA">TEXTAREA</a><br />
 <span class="index-where">(in&nbsp;<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">test_events()</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&nbsp;<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_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_relative">test_resolve_filename_dtd_relative()</a><br />
 <span class="index-where">(in&nbsp;<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_elementtree._XMLPullParserTest-class.html#test_events_sequence">test_events_sequence()</a><br />
-<span class="index-where">(in&nbsp;<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_filename_dtd">test_resolve_filename_dtd()</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&nbsp;<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_string_dtd">test_resolve_string_dtd()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_classlookup.ClassLookupTestCase-class.html#test_evil_class_lookup">test_evil_class_lookup()</a><br />
-<span class="index-where">(in&nbsp;<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_filename_dtd_relative">test_resolve_filename_dtd_relative()</a><br />
-<span class="index-where">(in&nbsp;<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.ETreeEXSLTTestCase-class.html#test_exslt_math">test_exslt_math()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</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&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_sax</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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_regexp_match1">test_exslt_regexp_match1()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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.ETreeSaxTestCase-class.html#test_sax_to_pulldom">test_sax_to_pulldom()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</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&nbsp;<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_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_match2">test_exslt_regexp_match2()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_schema_types">test_schema_types()</a><br />
+<span class="index-where">(in&nbsp;<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-module.html#this_dir">this_dir</a><br />
 <span class="index-where">(in&nbsp;<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_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_match_groups">test_exslt_regexp_match_groups()</a><br />
 <span class="index-where">(in&nbsp;<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.ETreeSaxTestCase-class.html#test_sax_to_pulldom">test_sax_to_pulldom()</a><br />
-<span class="index-where">(in&nbsp;<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_schema_types_prefixed">test_schema_types_prefixed()</a><br />
+<span class="index-where">(in&nbsp;<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-module.html#this_dir">this_dir</a><br />
 <span class="index-where">(in&nbsp;<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_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_replace">test_exslt_regexp_replace()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<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_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_test">test_exslt_regexp_test()</a><br />
 <span class="index-where">(in&nbsp;<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_prefixed">test_schema_types_prefixed()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</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&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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_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_str">test_exslt_str()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</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&nbsp;<a href="lxml.tests-module.html">lxml.tests</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&nbsp;<a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.test_etree-module.html#this_dir">this_dir</a><br />
 <span class="index-where">(in&nbsp;<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_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_str_attribute_replace">test_exslt_str_attribute_replace()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron">test_schematron()</a><br />
+<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&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</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&nbsp;<a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
+<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&nbsp;<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_assertValid">test_schematron_assertValid()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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&nbsp;<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_abstract">test_schematron_abstract()</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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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 />
+<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&nbsp;<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_customization">test_schematron_customization()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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_apply_templates_elements_only">test_extension_element_apply_templates_elements_only()</a><br />
 <span class="index-where">(in&nbsp;<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_elementtree_error">test_schematron_elementtree_error()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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_remove_blank_text">test_extension_element_apply_templates_remove_blank_text()</a><br />
 <span class="index-where">(in&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</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&nbsp;<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_target_node">test_extension_element_apply_templates_target_node()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<a href="lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-class.html">ETreeISOSchematronTestCase</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&nbsp;<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_target_node_doc">test_extension_element_apply_templates_target_node_doc()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_error_log">test_schematron_error_log()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_comment_pi_context">test_extension_element_comment_pi_context()</a><br />
 <span class="index-where">(in&nbsp;<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_from_element">test_schematron_from_element()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_content">test_extension_element_content()</a><br />
 <span class="index-where">(in&nbsp;<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_from_file">test_schematron_from_file()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_doc_context">test_extension_element_doc_context()</a><br />
 <span class="index-where">(in&nbsp;<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_element">test_schematron_from_element()</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&nbsp;<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&nbsp;<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_process_children">test_extension_element_process_children()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_process_children_to_append_only">test_extension_element_process_children_to_append_only()</a><br />
 <span class="index-where">(in&nbsp;<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_tree">test_schematron_from_tree()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_to_read_only_raise">test_extension_element_process_children_to_read_only_raise()</a><br />
 <span class="index-where">(in&nbsp;<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_invalid_args">test_schematron_invalid_args()</a><br />
+<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&nbsp;<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&nbsp;<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_with_subextension_element">test_extension_element_process_children_with_subextension_element()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</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&nbsp;<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_raise">test_extension_element_raise()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<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_invalid_schema_empty">test_schematron_invalid_schema_empty()</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&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</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&nbsp;<a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</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&nbsp;<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 />
+<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&nbsp;<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_schema_namespace">test_schematron_invalid_schema_namespace()</a><br />
+<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&nbsp;<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&nbsp;<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 />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-class.html">ETreeXSLTExtFuncTestCase</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&nbsp;<a href="lxml.tests.test_schematron.ETreeSchematronTestCase-class.html">ETreeSchematronTestCase</a>)</span></td>
+<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&nbsp;<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_phases_kwarg">test_schematron_phases_kwarg()</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_preceding_text">test_failure_preceding_text()</a><br />
+<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&nbsp;<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_phases">test_schematron_phases()</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&nbsp;<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&nbsp;<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_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_Element">test_failure_trailing_Element()</a><br />
+<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&nbsp;<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_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_result_report">test_schematron_result_report()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<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_relaxng_embedded">test_schematron_relaxng_embedded()</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&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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_result_report">test_schematron_result_report()</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&nbsp;<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_annotated">tokenize_annotated()</a><br />
 <span class="index-where">(in&nbsp;<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_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_error_close_empty">test_feed_parser_error_close_empty()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<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_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_close_incomplete">test_feed_parser_error_close_incomplete()</a><br />
 <span class="index-where">(in&nbsp;<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_isoschematron.ETreeISOSchematronTestCase-class.html#test_schematron_xmlschema_embedded">test_schematron_xmlschema_embedded()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_incomplete">test_feed_parser_error_close_incomplete()</a><br />
-<span class="index-where">(in&nbsp;<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_validate">test_schematron_validate()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<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 />
 <span class="index-where">(in&nbsp;<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&nbsp;<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 />
+<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&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#tostring">tostring()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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_set_string">test_set_string()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#tounicode">tounicode()</a><br />
+<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&nbsp;<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-module.html#tostringlist">tostringlist()</a><br />
 <span class="index-where">(in&nbsp;<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_no_id_dict">test_feed_parser_recover_no_id_dict()</a><br />
 <span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_set_text2">test_set_text2()</a><br />
 <span class="index-where">(in&nbsp;<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#TR">TR</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#tounicode">tounicode()</a><br />
+<span class="index-where">(in&nbsp;<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_unicode">test_feed_parser_unicode()</a><br />
 <span class="index-where">(in&nbsp;<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_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&nbsp;<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.ErrorDomains-class.html#TREE">TREE</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</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&nbsp;<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_feed_while_iterating">test_feed_while_iterating()</a><br />
 <span class="index-where">(in&nbsp;<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_set_text_empty">test_set_text_empty()</a><br />
+<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&nbsp;<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.ErrorTypes-class.html#TREE_INVALID_DEC">TREE_INVALID_DEC</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</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&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</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&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_set_text_none">test_set_text_none()</a><br />
-<span class="index-where">(in&nbsp;<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.ErrorTypes-class.html#TREE_INVALID_HEX">TREE_INVALID_HEX</a><br />
+<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&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</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&nbsp;<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&nbsp;<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_setattr">test_setattr()</a><br />
+<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&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#TREE_NOT_UTF8">TREE_NOT_UTF8</a><br />
+<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&nbsp;<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_not_closing">test_filelike_not_closing()</a><br />
 <span class="index-where">(in&nbsp;<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_setattr_nonunicode">test_setattr_nonunicode()</a><br />
-<span class="index-where">(in&nbsp;<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-module.html#TREE_PYTYPE">TREE_PYTYPE</a><br />
-<span class="index-where">(in&nbsp;<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_elementtree._ETreeTestCaseBase-class.html#test_setitem">test_setitem()</a><br />
+<span class="index-where">(in&nbsp;<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.ErrorTypes-class.html#TREE_NOT_UTF8">TREE_NOT_UTF8</a><br />
+<span class="index-where">(in&nbsp;<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&nbsp;<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">test_setitem()</a><br />
+<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&nbsp;<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.ErrorTypes-class.html#TREE_UNTERMINATED_ENTITY">TREE_UNTERMINATED_ENTITY</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</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&nbsp;<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_objectify.ObjectifyTestCase-class.html#test_findall">test_findall()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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.TreeBuilder-class.html">TreeBuilder</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</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&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</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&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></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&nbsp;<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_setitem_assert">test_setitem_assert()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
-<td width="33%" class="link-index"><a href="xml.etree.ElementTree.TreeBuilder-class.html">TreeBuilder</a></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&nbsp;<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.TreeBuilder-class.html">TreeBuilder</a><br />
+<span class="index-where">(in&nbsp;<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_findall_ns">test_findall_ns()</a><br />
 <span class="index-where">(in&nbsp;<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 />
+<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&nbsp;<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&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</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_ns">test_findall_ns()</a><br />
 <span class="index-where">(in&nbsp;<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&nbsp;<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&nbsp;<a href="lxml.etree._LogEntry-class.html" onclick="show_private();">_LogEntry</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&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</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&nbsp;<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_objectify.ObjectifyTestCase-class.html#test_findall_ns">test_findall_ns()</a><br />
 <span class="index-where">(in&nbsp;<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_setitem_string">test_setitem_string()</a><br />
+<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&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</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&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</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&nbsp;<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_etree.ETreeOnlyTestCase-class.html#test_findall_syntax_error">test_findall_syntax_error()</a><br />
 <span class="index-where">(in&nbsp;<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_setitem_string_special">test_setitem_string_special()</a><br />
-<span class="index-where">(in&nbsp;<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&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</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&nbsp;<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&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
 </tr>
 <tr>
 <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&nbsp;<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_tail">test_setitem_tail()</a><br />
+<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&nbsp;<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.PyType-class.html#type_check">type_check</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
+</tr>
+<tr>
+<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&nbsp;<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_setslice_all">test_setslice_all()</a><br />
 <span class="index-where">(in&nbsp;<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_name">type_name</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._LogEntry-class.html" onclick="show_private();">_LogEntry</a>)</span></td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6bcd667d048f120f7d2a71dca94fdd4c8ec41cba..8635a6ef6659c53be709d3410fe78bf5d81bde56 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 991d2f5d2f5de0cbba7ee22da4c5f5507efdd60e..8d6192be8ff148dddb48e3fb48186c279b0a3bed 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9bd86f38aa387ae117912bb0b772f18754b5167a..b9b0c9253675aea90759b00195fee8129e5bf065 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 67568261177615645fcb7c0f099d748310b22639..c4027b8b9e13455b523ae75fafe2aa15a8f1a32c 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 639db9540b2e352b7a85d35ea4a5dc40d089263e..cc2514032bf6c14a568dc03190f452d0a6f36b62 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 93797836110b47887d0a24241ecf964b29f86ce0..17299ceefdbadb9db7b13b23dc27f52c3fd36545 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 23d78f2ecb5dc9dd2fb310469d45e5f2788f9268..f54487f6eea960be55ea18caf89b96f4fc009f1e 100644 (file)
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__delitem__">__delitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.iterparse-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.iterparse-class.html">iterparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.htmlfile-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.htmlfile-class.html" onclick="show_private();">htmlfile</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_conditional_comment_re">_conditional_comment_re</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__delitem__">__delitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.iterwalk-class.html">iterwalk</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.iterparse-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.iterparse-class.html">iterparse</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_contains_block_level_tag">_contains_block_level_tag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__delitem__">__delitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.xmlfile-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.iterwalk-class.html">iterwalk</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#_convert_children">_convert_children()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__delitem__">__delitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff.tag_token-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff.tag_token-class.html" onclick="show_private();">tag_token</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.xmlfile-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#_convert_tree">_convert_tree()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__div__">__div__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff.token-class.html" onclick="show_private();">token</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff.tag_token-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.diff.tag_token-class.html" onclick="show_private();">tag_token</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_css_import_re">_css_import_re</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.ElementSoup-module.html#__doc__">__doc__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.ElementSoup-module.html">lxml.html.ElementSoup</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.diff.token-class.html" onclick="show_private();">token</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_css_javascript_re">_css_javascript_re</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#__doc__">__doc__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.ElementMaker-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.ElementMaker-class.html">ElementMaker</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.HtmlElementClassLookup-class.html#_default_element_classes">_default_element_classes</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HtmlElementClassLookup-class.html">HtmlElementClassLookup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.xmlfile-class.html#__enter__">__enter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.FloatElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.FloatElement-class.html">FloatElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.ElementMaker-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.ElementMaker-class.html">ElementMaker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Document-class.html">_Document</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.QName-class.html#__eq__">__eq__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.IntElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.IntElement-class.html">IntElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.FloatElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.FloatElement-class.html">FloatElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_domain">_domain</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__eq__">__eq__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.LongElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.LongElement-class.html">LongElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.IntElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.IntElement-class.html">IntElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._DomainErrorLog-class.html">_DomainErrorLog</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__eq__">__eq__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.LongElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.LongElement-class.html">LongElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html">_Element</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__eq__">__eq__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementIterator-class.html">_ElementIterator</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__eq__">__eq__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.ObjectPath-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectPath-class.html">ObjectPath</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementMatchIterator-class.html">_ElementMatchIterator</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__eq__">__eq__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedDataElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedDataElement-class.html">ObjectifiedDataElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.ObjectPath-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectPath-class.html">ObjectPath</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementStringResult-class.html">_ElementStringResult</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ErrorLog-class.html#__exit__">__exit__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ErrorLog-class.html" onclick="show_private();">_ErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedDataElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedDataElement-class.html">ObjectifiedDataElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementTagMatcher-class.html">_ElementTagMatcher</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.xmlfile-class.html#__exit__">__exit__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifyElementClassLookup-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifyElementClassLookup-class.html">ObjectifyElementClassLookup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementTree-class.html">_ElementTree</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__float__">__float__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifyElementClassLookup-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifyElementClassLookup-class.html">ObjectifyElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementUnicodeResult-class.html">_ElementUnicodeResult</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__float__">__float__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__new__">__new__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_end_body_re">_end_body_re</a><br />
 <span class="index-where">(in&nbsp;<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.QName-class.html#__ge__">__ge__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ElementDepthFirstIterator-class.html#__next__">__next__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ElementDepthFirstIterator-class.html" onclick="show_private();">ElementDepthFirstIterator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__new__">__new__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Entity-class.html">_Entity</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__ge__">__ge__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ElementTextIterator-class.html#__next__">__next__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ElementTextIterator-class.html" onclick="show_private();">ElementTextIterator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ElementDepthFirstIterator-class.html#__next__">__next__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ElementDepthFirstIterator-class.html" onclick="show_private();">ElementDepthFirstIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_error_type">_error_type</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__ge__">__ge__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ElementIterator-class.html#__next__">__next__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementIterator-class.html" onclick="show_private();">_ElementIterator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ElementTextIterator-class.html#__next__">__next__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ElementTextIterator-class.html" onclick="show_private();">ElementTextIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ErrorLog-class.html">_ErrorLog</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__ge__">__ge__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ElementMatchIterator-class.html#__next__">__next__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementMatchIterator-class.html" onclick="show_private();">_ElementMatchIterator</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ElementIterator-class.html#__next__">__next__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementIterator-class.html" onclick="show_private();">_ElementIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html">_ETreeTestCaseBase</a><br />
 <span class="index-where">(in&nbsp;<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.objectify.NumberElement-class.html#__ge__">__ge__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.iterparse-class.html#__next__">__next__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.iterparse-class.html">iterparse</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ElementMatchIterator-class.html#__next__">__next__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementMatchIterator-class.html" onclick="show_private();">_ElementMatchIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_expand">_expand</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__ge__">__ge__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html#__next__">__next__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.iterwalk-class.html">iterwalk</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.iterparse-class.html#__next__">__next__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.iterparse-class.html">iterparse</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_extract">_extract()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.builder.ElementMaker-class.html#__getattr__">__getattr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.builder.ElementMaker-class.html">ElementMaker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html#__next__">__next__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.iterwalk-class.html">iterwalk</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_extract_rng">_extract_rng</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ElementMaker-class.html#__getattr__">__getattr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ElementMaker-class.html">ElementMaker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_extract_xsd">_extract_xsd</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__getattr__">__getattr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<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._XMLPullParserTest-class.html#_feed">_feed()</a><br />
 <span class="index-where">(in&nbsp;<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.objectify.ElementMaker-class.html#__getattribute__">__getattribute__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ElementMaker-class.html">ElementMaker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._FeedParser-class.html">_FeedParser</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__getattribute__">__getattribute__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_fields__get">_fields__get()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_fields__set">_fields__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__nonzero__">__nonzero__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_file">_file</a><br />
 <span class="index-where">(in&nbsp;<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.etree._IDDict-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__oct__">__oct__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__nonzero__">__nonzero__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_fill_form">_fill_form()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__or__">__or__()</a><br />
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__oct__">__oct__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_fill_multiple">_fill_multiple()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__or__">__or__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_fill_single">_fill_single()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.InputGetter-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputGetter-class.html">InputGetter</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml-module.html">lxml</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_find_doctest_frame">_find_doctest_frame()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__getitem__">__getitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.builder-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.builder-module.html">lxml.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml-module.html">lxml</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_find_elements_for_name">_find_elements_for_name()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.QName-class.html#__gt__">__gt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.cssselect-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.cssselect-module.html">lxml.cssselect</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.builder-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.builder-module.html">lxml.builder</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_find_external_links">_find_external_links</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__gt__">__gt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.cssselect-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.cssselect-module.html">lxml.cssselect</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_find_form">_find_form()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__gt__">__gt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_find_form_ids">_find_form_ids()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__gt__">__gt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.ElementSoup-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.ElementSoup-module.html">lxml.html.ElementSoup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_find_styled_elements">_find_styled_elements</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__gt__">__gt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.ElementSoup-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.ElementSoup-module.html">lxml.html.ElementSoup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html#_find_tag">_find_tag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__gt__">__gt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_fix_bytes">_fix_bytes()</a><br />
 <span class="index-where">(in&nbsp;<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.QName-class.html#__hash__">__hash__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.clean-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.builder-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.builder-module.html">lxml.html.builder</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_fix_exceptions">_fix_exceptions()</a><br />
 <span class="index-where">(in&nbsp;<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.objectify.BoolElement-class.html#__hash__">__hash__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.defs-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.clean-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_fix_traceback">_fix_traceback()</a><br />
 <span class="index-where">(in&nbsp;<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.objectify.NoneElement-class.html#__hash__">__hash__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.defs-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.defs-module.html">lxml.html.defs</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_fix_unicode">_fix_unicode</a><br />
 <span class="index-where">(in&nbsp;<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.objectify.NumberElement-class.html#__hash__">__hash__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_fixup_ins_del_tags">_fixup_ins_del_tags()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__hash__">__hash__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.LabelElement-class.html#_for_element__del">_for_element__del()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.LabelElement-class.html">LabelElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__hex__">__hex__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.LabelElement-class.html#_for_element__get">_for_element__get()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.LabelElement-class.html">LabelElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.builder.ElementMaker-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.builder.ElementMaker-class.html">ElementMaker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.includes-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.includes-module.html">lxml.includes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.LabelElement-class.html#_for_element__set">_for_element__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.LabelElement-class.html">LabelElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.cssselect.CSSSelector-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.cssselect.CSSSelector-class.html">CSSSelector</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.includes-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.includes-module.html">lxml.includes</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_form_name_xpath">_form_name_xpath</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare._RestoreChecker-class.html" onclick="show_private();">_RestoreChecker</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html-module.html#_forms_xpath">_forms_xpath</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.AttributeBasedElementClassLookup-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.AttributeBasedElementClassLookup-class.html">AttributeBasedElementClassLookup</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.pyclasslookup-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.pyclasslookup-module.html">lxml.pyclasslookup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_get_caller_relative_path">_get_caller_relative_path()</a><br />
 <span class="index-where">(in&nbsp;<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.CommentBase-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.CommentBase-class.html">CommentBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.sax-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.sax-module.html">lxml.sax</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.pyclasslookup-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.pyclasslookup-module.html">lxml.pyclasslookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#_get_etree">_get_etree()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.DTD-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DTD-class.html">DTD</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.sax-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.sax-module.html">lxml.sax</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#_getName">_getName()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ETCompatXMLParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ETCompatXMLParser-class.html">ETCompatXMLParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests-module.html">lxml.tests</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorLevels-class.html#_getName">_getName()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorLevels-class.html">ErrorLevels</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ETXPath-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ETXPath-class.html">ETXPath</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.dummy_http_server-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server-module.html">lxml.tests.dummy_http_server</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#_getName">_getName()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementBase-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementBase-class.html">ElementBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_builder-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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.dummy_http_server-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server-module.html">lxml.tests.dummy_http_server</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.RelaxNGErrorTypes-class.html#_getName">_getName()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGErrorTypes-class.html">RelaxNGErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementDefaultClassLookup-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementDefaultClassLookup-class.html">ElementDefaultClassLookup</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_classlookup-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_builder-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_builder-module.html">lxml.tests.test_builder</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.sax-module.html#_getNsTag">_getNsTag()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax-module.html">lxml.sax</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementNamespaceClassLookup-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementNamespaceClassLookup-class.html">ElementNamespaceClassLookup</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_css-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_classlookup-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_classlookup-module.html">lxml.tests.test_classlookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_has_sneaky_javascript">_has_sneaky_javascript()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.EntityBase-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.EntityBase-class.html">EntityBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_css-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_css-module.html">lxml.tests.test_css</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_html_parser">_html_parser</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.FallbackElementClassLookup-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.FallbackElementClassLookup-class.html">FallbackElementClassLookup</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_dtd-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_doctestcompare-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_doctestcompare-module.html">lxml.tests.test_doctestcompare</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html-module.html#_id_xpath">_id_xpath</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.HTMLParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.HTMLParser-class.html">HTMLParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_dtd-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_dtd-module.html">lxml.tests.test_dtd</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html">_IDDict</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.HTMLPullParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.HTMLPullParser-class.html" onclick="show_private();">HTMLPullParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_errors-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_elementtree-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree-module.html">lxml.tests.test_elementtree</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_include">_include</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.LxmlError-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.LxmlError-class.html">LxmlError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_errors-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_errors-module.html">lxml.tests.test_errors</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#_include">_include()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.PIBase-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.PIBase-class.html">PIBase</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_htmlparser-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_etree-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree-module.html">lxml.tests.test_etree</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#_init">_init()</a><br />
 <span class="index-where">(in&nbsp;<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.ParseError-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ParseError-class.html">ParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_http_io-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_htmlparser-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_htmlparser-module.html">lxml.tests.test_htmlparser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#_init">_init()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.PyErrorLog-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.PyErrorLog-class.html">PyErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_http_io-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.FloatElement-class.html#_init">_init()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.FloatElement-class.html">FloatElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.QName-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_io-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.IntElement-class.html#_init">_init()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.IntElement-class.html">IntElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.RelaxNG-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNG-class.html">RelaxNG</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_isoschematron-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_io-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_io-module.html">lxml.tests.test_io</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.LongElement-class.html#_init">_init()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.LongElement-class.html">LongElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.Schematron-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.Schematron-class.html">Schematron</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_nsclasses-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_isoschematron-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_isoschematron-module.html">lxml.tests.test_isoschematron</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_input_xpath">_input_xpath</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.TreeBuilder-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.TreeBuilder-class.html">TreeBuilder</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_objectify-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_nsclasses-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_nsclasses-module.html">lxml.tests.test_nsclasses</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_ins_del_re">_ins_del_re</a><br />
 <span class="index-where">(in&nbsp;<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.XInclude-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XInclude-class.html">XInclude</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_objectify-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify-module.html">lxml.tests.test_objectify</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_insert_break">_insert_break()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XMLParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLParser-class.html">XMLParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_relaxng-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_pyclasslookup-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup-module.html">lxml.tests.test_pyclasslookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_insert_error">_insert_error()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XMLPullParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLPullParser-class.html" onclick="show_private();">XMLPullParser</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_relaxng-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<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_io._IOTestCaseBase-class.html">_IOTestCaseBase</a><br />
 <span class="index-where">(in&nbsp;<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.etree.XMLSchema-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLSchema-class.html">XMLSchema</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_schematron-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_sax-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_sax-module.html">lxml.tests.test_sax</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_is_javascript_scheme">_is_javascript_scheme()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XPath-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPath-class.html">XPath</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_schematron-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_schematron-module.html">lxml.tests.test_schematron</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_IS_PYTHON_3">_IS_PYTHON_3</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathDocumentEvaluator-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathDocumentEvaluator-class.html">XPathDocumentEvaluator</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_unicode-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_threading-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading-module.html">lxml.tests.test_threading</a>)</span></td>
 <td width="33%" class="link-index"><a href="xml.etree.ElementTree._IterParseIterator-class.html">_IterParseIterator</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathElementEvaluator-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathElementEvaluator-class.html" onclick="show_private();">XPathElementEvaluator</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_unicode-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_unicode-module.html">lxml.tests.test_unicode</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_kill_elements">_kill_elements()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLT-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLT-class.html">XSLT</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_xmlschema-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xmlschema-module.html">lxml.tests.test_xmlschema</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html#_label__del">_label__del()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTAccessControl-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTAccessControl-class.html">XSLTAccessControl</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<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_xpathevaluator-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xpathevaluator-module.html">lxml.tests.test_xpathevaluator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.HtmlMixin-class.html#_label__get">_label__get()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._BaseErrorLog-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#__package__">__package__</a><br />
-<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<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.HtmlMixin-class.html#_label__set">_label__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HtmlMixin-class.html">HtmlMixin</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._DomainErrorLog-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._DomainErrorLog-class.html" onclick="show_private();">_DomainErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify-module.html#__parseBool">__parseBool()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
+<td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#__package__">__package__</a><br />
+<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_label_for_xpath">_label_for_xpath</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ErrorLog-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ErrorLog-class.html" onclick="show_private();">_ErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__pos__">__pos__()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify-module.html#__parseBool">__parseBool()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html-module.html#_label_xpath">_label_xpath</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__pow__">__pow__()</a><br />
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__pos__">__pos__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_level">_level</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._RotatingErrorLog-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._RotatingErrorLog-class.html" onclick="show_private();">_RotatingErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree-module.html#__pyx_capi__">__pyx_capi__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__pow__">__pow__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_link_regexes">_link_regexes</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._TargetParserResult-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._TargetParserResult-class.html" onclick="show_private();">_TargetParserResult</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.C14NError-class.html#__qualname__">__qualname__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.C14NError-class.html">C14NError</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree-module.html#__pyx_capi__">__pyx_capi__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_link_text">_link_text()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._XPathEvaluatorBase-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._XPathEvaluatorBase-class.html" onclick="show_private();">_XPathEvaluatorBase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.C14NError-class.html#__qualname__">__qualname__</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.C14NError-class.html">C14NError</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html">_ListErrorLog</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="lxml.etree.htmlfile-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.htmlfile-class.html" onclick="show_private();">htmlfile</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.DTDError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DTDError-class.html">DTDError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html">_ListErrorLog</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree._LogEntry-class.html">_LogEntry</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.iterparse-class.html">iterparse</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.DTDParseError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DTDParseError-class.html">DTDParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._LogEntry-class.html">_LogEntry</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.doctestcompare.LXMLOutputChecker-class.html#_looks_like_markup">_looks_like_markup()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare.LXMLOutputChecker-class.html">LXMLOutputChecker</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.iterwalk-class.html">iterwalk</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.DTDValidateError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DTDValidateError-class.html">DTDValidateError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare.LXMLOutputChecker-class.html#_looks_like_markup">_looks_like_markup()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare.LXMLOutputChecker-class.html">LXMLOutputChecker</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html#_looks_like_url">_looks_like_url()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.xmlfile-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.DocumentInvalid-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DocumentInvalid-class.html">DocumentInvalid</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.html5parser-module.html#_looks_like_url">_looks_like_url()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.html5parser-module.html">lxml.html.html5parser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#_lxml_default_loader">_lxml_default_loader()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.CheckboxValues-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxValues-class.html">CheckboxValues</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.Error-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.Error-class.html">Error</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#_lxml_default_loader">_lxml_default_loader()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.cssselect-module.html#_make_lower_case">_make_lower_case()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.cssselect-module.html">lxml.cssselect</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.cssselect-module.html#_make_lower_case">_make_lower_case()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.cssselect-module.html">lxml.cssselect</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_merge_element_contents">_merge_element_contents()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.HTMLParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HTMLParser-class.html">HTMLParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorLevels-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorLevels-class.html">ErrorLevels</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_merge_element_contents">_merge_element_contents()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_method__get">_method__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.HtmlElementClassLookup-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.HtmlElementClassLookup-class.html">HtmlElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_method__get">_method__get()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_method__set">_method__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputGetter-class.html">InputGetter</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.LxmlError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.LxmlError-class.html">LxmlError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_method__set">_method__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html._MethodFunc-class.html">_MethodFunc</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.MultipleSelectOptions-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.MultipleSelectOptions-class.html">MultipleSelectOptions</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.LxmlRegistryError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.LxmlRegistryError-class.html">LxmlRegistryError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html._MethodFunc-class.html">_MethodFunc</a></td>
+<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_move_el_inside_block">_move_el_inside_block()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.XHTMLParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.XHTMLParser-class.html">XHTMLParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.LxmlSyntaxError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.LxmlSyntaxError-class.html">LxmlSyntaxError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.diff-module.html#_move_el_inside_block">_move_el_inside_block()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.diff-module.html">lxml.html.diff</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_multiple__get">_multiple__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html._MethodFunc-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html._MethodFunc-class.html">_MethodFunc</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.NamespaceRegistryError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.NamespaceRegistryError-class.html">NamespaceRegistryError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_multiple__get">_multiple__get()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_multiple__set">_multiple__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ParseError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ParseError-class.html">ParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_multiple__set">_multiple__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_name">_name()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.formfill.DefaultErrorCreator-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.formfill.DefaultErrorCreator-class.html">DefaultErrorCreator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.ParserError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ParserError-class.html">ParserError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.FormElement-class.html#_name">_name()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.FormElement-class.html">FormElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#_name__del">_name__del()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.InputMixin-class.html">InputMixin</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.html5parser.HTMLParser-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.html5parser.HTMLParser-class.html">HTMLParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.RelaxNGError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGError-class.html">RelaxNGError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#_name__del">_name__del()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#_name__get">_name__get()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputMixin-class.html">InputMixin</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.html.html5parser.XHTMLParser-class.html">XHTMLParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.RelaxNGErrorTypes-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGErrorTypes-class.html">RelaxNGErrorTypes</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#_name__get">_name__get()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#_name__set">_name__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputMixin-class.html">InputMixin</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.RelaxNGParseError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGParseError-class.html">RelaxNGParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#_name__set">_name__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.InputMixin-class.html">InputMixin</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.InputGetter-class.html#_name_xpath">_name_xpath</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.InputGetter-class.html">InputGetter</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ElementMaker-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ElementMaker-class.html">ElementMaker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.RelaxNGValidateError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGValidateError-class.html">RelaxNGValidateError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputGetter-class.html#_name_xpath">_name_xpath</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.InputGetter-class.html">InputGetter</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_name_xpath">_name_xpath</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectPath-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectPath-class.html">ObjectPath</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SchematronError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.SchematronError-class.html">SchematronError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_name_xpath">_name_xpath</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#_names">_names</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifyElementClassLookup-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifyElementClassLookup-class.html">ObjectifyElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SchematronParseError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.SchematronParseError-class.html">SchematronParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorDomains-class.html#_names">_names</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorDomains-class.html">ErrorDomains</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorLevels-class.html#_names">_names</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorLevels-class.html">ErrorLevels</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SchematronValidateError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.SchematronValidateError-class.html">SchematronValidateError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorLevels-class.html#_names">_names</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorLevels-class.html">ErrorLevels</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#_names">_names</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.sax.ElementTreeContentHandler-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeContentHandler-class.html">ElementTreeContentHandler</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.SerialisationError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.SerialisationError-class.html">SerialisationError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.ErrorTypes-class.html#_names">_names</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.ErrorTypes-class.html">ErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree.RelaxNGErrorTypes-class.html#_names">_names</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGErrorTypes-class.html">RelaxNGErrorTypes</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.sax.ElementTreeProducer-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeProducer-class.html">ElementTreeProducer</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XIncludeError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XIncludeError-class.html">XIncludeError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree.RelaxNGErrorTypes-class.html#_names">_names</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree.RelaxNGErrorTypes-class.html">RelaxNGErrorTypes</a>)</span></td>
+<td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#_namespace_map">_namespace_map</a><br />
+<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports.LargeFileLike-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports.LargeFileLike-class.html">LargeFileLike</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XMLSchemaError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLSchemaError-class.html">XMLSchemaError</a>)</span></td>
-<td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#_namespace_map">_namespace_map</a><br />
-<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_norm_whitespace_re">_norm_whitespace_re</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports.LargeFileLikeUnicode-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports.LargeFileLikeUnicode-class.html">LargeFileLikeUnicode</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XMLSchemaParseError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLSchemaParseError-class.html">XMLSchemaParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_norm_whitespace_re">_norm_whitespace_re</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html-module.html#_options_xpath">_options_xpath</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.common_imports.SillyFileLike-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports.SillyFileLike-class.html">SillyFileLike</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XMLSchemaValidateError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLSchemaValidateError-class.html">XMLSchemaValidateError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html-module.html#_options_xpath">_options_xpath</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#_parse">_parse()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.dummy_http_server.HTTPRequestCollector-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server.HTTPRequestCollector-class.html">HTTPRequestCollector</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XMLSyntaxError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XMLSyntaxError-class.html">XMLSyntaxError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.soupparser-module.html#_parse">_parse()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.soupparser-module.html">lxml.html.soupparser</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#_parse_file">_parse_file()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.test_doctestcompare.DummyInput-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_doctestcompare.DummyInput-class.html">DummyInput</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathError-class.html">XPathError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#_parse_file">_parse_file()</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile.TempPathXmlFileTestCase-class.html#_parse_file">_parse_file()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html">SimpleFileLike</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathEvalError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathEvalError-class.html">XPathEvalError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#_parse_file">_parse_file()</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile._XmlFileTestCaseBase-class.html#_parse_file">_parse_file()</a><br />
+<span class="index-where">(in&nbsp;<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_threading.ThreadPipelineTestCase.Worker-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadPipelineTestCase.Worker-class.html">Worker</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathFunctionError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathFunctionError-class.html">XPathFunctionError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_parse_file">_parse_file()</a><br />
-<span class="index-where">(in&nbsp;<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#_parse_from_http">_parse_from_http()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html#__init__">__init__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-class.html">simple_resolver</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathResultError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathResultError-class.html">XPathResultError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_http_io.HttpIOTestCase-class.html#_parse_from_http">_parse_from_http()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_http_io.HttpIOTestCase-class.html">HttpIOTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ProcessingInstruction-class.html">_ProcessingInstruction</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__int__">__int__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XPathSyntaxError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPathSyntaxError-class.html">XPathSyntaxError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ProcessingInstruction-class.html">_ProcessingInstruction</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#_read_file">_read_file()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__int__">__int__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTApplyError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTApplyError-class.html">XSLTApplyError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#_read_file">_read_file()</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile.TempPathXmlFileTestCase-class.html#_read_file">_read_file()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__invert__">__invert__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTError-class.html">XSLTError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#_read_file">_read_file()</a><br />
-<span class="index-where">(in&nbsp;<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_incremental_xmlfile._XmlFileTestCaseBase-class.html#_read_file">_read_file()</a><br />
+<span class="index-where">(in&nbsp;<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.etree.ElementDepthFirstIterator-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementDepthFirstIterator-class.html" onclick="show_private();">ElementDepthFirstIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTExtensionError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTExtensionError-class.html">XSLTExtensionError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_read_file">_read_file()</a><br />
-<span class="index-where">(in&nbsp;<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.sax.ElementTreeProducer-class.html#_recursive_saxify">_recursive_saxify()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeProducer-class.html">ElementTreeProducer</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementTextIterator-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementTextIterator-class.html" onclick="show_private();">ElementTextIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTParseError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTParseError-class.html">XSLTParseError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.sax.ElementTreeProducer-class.html#_recursive_saxify">_recursive_saxify()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.sax.ElementTreeProducer-class.html">ElementTreeProducer</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html-module.html#_rel_links_xpath">_rel_links_xpath</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTSaveError-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTSaveError-class.html">XSLTSaveError</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html-module.html#_rel_links_xpath">_rel_links_xpath</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html-module.html">lxml.html</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_remove_javascript_link">_remove_javascript_link()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementStringResult-class.html#__qualname__">__qualname__</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementStringResult-class.html" onclick="show_private();">_ElementStringResult</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_remove_javascript_link">_remove_javascript_link()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
+<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementStringResult-class.html" onclick="show_private();">_ElementStringResult</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_repr_re">_repr_re</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementIterator-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ElementIterator-class.html" onclick="show_private();">_ElementIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._TargetParserResult-class.html#__qualname__">__qualname__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._TargetParserResult-class.html" onclick="show_private();">_TargetParserResult</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#_repr_re">_repr_re</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.dummy_http_server._RequestHandler-class.html">_RequestHandler</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server-module.html">lxml.tests.dummy_http_server</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ElementMatchIterator-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ElementMatchIterator-class.html" onclick="show_private();">_ElementMatchIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__radd__">__radd__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.dummy_http_server._RequestHandler-class.html">_RequestHandler</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.dummy_http_server-module.html">lxml.tests.dummy_http_server</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_resources_dir">_resources_dir</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ErrorLog-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ErrorLog-class.html" onclick="show_private();">_ErrorLog</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__radd__">__radd__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_resources_dir">_resources_dir</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html">_RestoreChecker</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rand__">__rand__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.doctestcompare._RestoreChecker-class.html">_RestoreChecker</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports.HelperTestCase-class.html#_rootstring">_rootstring()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports.HelperTestCase-class.html">HelperTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rdiv__">__rdiv__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports.HelperTestCase-class.html#_rootstring">_rootstring()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports.HelperTestCase-class.html">HelperTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_rootstring">_rootstring()</a><br />
+<span class="index-where">(in&nbsp;<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.iterparse-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.iterparse-class.html">iterparse</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__reduce__">__reduce__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_rootstring">_rootstring()</a><br />
-<span class="index-where">(in&nbsp;<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._RotatingErrorLog-class.html">_RotatingErrorLog</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.iterwalk-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.iterwalk-class.html">iterwalk</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.cssselect.CSSSelector-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.cssselect.CSSSelector-class.html">CSSSelector</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._RotatingErrorLog-class.html">_RotatingErrorLog</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#_run_thread">_run_thread()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.CheckboxValues-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxValues-class.html">CheckboxValues</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XPath-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XPath-class.html">XPath</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_threading.ThreadingTestCase-class.html#_run_thread">_run_thread()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_threading.ThreadingTestCase-class.html">ThreadingTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_serialize">_saxify_serialize()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.XSLTAccessControl-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.XSLTAccessControl-class.html">XSLTAccessControl</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_serialize">_saxify_serialize()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_unsaxify">_saxify_unsaxify()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputGetter-class.html">InputGetter</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_unsaxify">_saxify_unsaxify()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._SaxParserTarget-class.html">_SaxParserTarget</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.MultipleSelectOptions-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.MultipleSelectOptions-class.html">MultipleSelectOptions</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._BaseErrorLog-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._BaseErrorLog-class.html" onclick="show_private();">_BaseErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._SaxParserTarget-class.html">_SaxParserTarget</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_schematron_root">_schematron_root</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__iter__">__iter__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Comment-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Comment-class.html" onclick="show_private();">_Comment</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_schematron_root">_schematron_root</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_select">_select()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.QName-class.html#__le__">__le__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_select">_select()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#_serialize">_serialize</a><br />
+<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__le__">__le__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Entity-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Entity-class.html" onclick="show_private();">_Entity</a>)</span></td>
-<td width="33%" class="link-index"><a href="xml.etree.ElementTree-module.html#_serialize">_serialize</a><br />
-<span class="index-where">(in&nbsp;<a href="xml.etree.ElementTree-module.html">xml.etree.ElementTree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#_setClassLookup">_setClassLookup()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__le__">__le__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html#_setClassLookup">_setClassLookup()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_pyclasslookup.PyClassLookupTestCase-class.html">PyClassLookupTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._ElementTree-class.html#_setroot">_setroot()</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.NoneElement-class.html#__le__">__le__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._ElementTree-class.html#_setroot">_setroot()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree._ElementTree-class.html" onclick="show_private();">_ElementTree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedDataElement-class.html#_setText">_setText()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedDataElement-class.html">ObjectifiedDataElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__le__">__le__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._LogEntry-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._LogEntry-class.html" onclick="show_private();">_LogEntry</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedDataElement-class.html#_setText">_setText()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedDataElement-class.html">ObjectifiedDataElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#_setValueParser">_setValueParser()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__le__">__le__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._ProcessingInstruction-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ProcessingInstruction-class.html" onclick="show_private();">_ProcessingInstruction</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#_setValueParser">_setValueParser()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="xml.etree.ElementTree._SimpleElementPath-class.html">_SimpleElementPath</a></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__len__">__len__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
-<td width="33%" class="link-index"><a href="xml.etree.ElementTree._SimpleElementPath-class.html">_SimpleElementPath</a></td>
+<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_str">_str()</a><br />
+<span class="index-where">(in&nbsp;<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._Element-class.html#__len__">__len__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.CheckboxValues-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxValues-class.html">CheckboxValues</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.common_imports-module.html#_str">_str()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.common_imports-module.html">lxml.tests.common_imports</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_stylesheet_param_dict">_stylesheet_param_dict()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._IDDict-class.html#__len__">__len__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._IDDict-class.html" onclick="show_private();">_IDDict</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_stylesheet_param_dict">_stylesheet_param_dict()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_substitute_comments">_substitute_comments()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._ListErrorLog-class.html#__len__">__len__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._ListErrorLog-class.html" onclick="show_private();">_ListErrorLog</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.InputGetter-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputGetter-class.html">InputGetter</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_substitute_comments">_substitute_comments()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_substitute_whitespace">_substitute_whitespace()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__len__">__len__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.InputMixin-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputMixin-class.html">InputMixin</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.clean-module.html#_substitute_whitespace">_substitute_whitespace()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.clean-module.html">lxml.html.clean</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_tag">_tag</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__len__">__len__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.MultipleSelectOptions-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.MultipleSelectOptions-class.html">MultipleSelectOptions</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_tag">_tag</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_tag_link_attrs">_tag_link_attrs</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__long__">__long__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.clean.Cleaner-class.html#_tag_link_attrs">_tag_link_attrs</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.clean.Cleaner-class.html">Cleaner</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_takes_multiple">_takes_multiple()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__long__">__long__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff.tag_token-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.tag_token-class.html" onclick="show_private();">tag_token</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.formfill-module.html#_takes_multiple">_takes_multiple()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.formfill-module.html">lxml.html.formfill</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._TargetParserResult-class.html">_TargetParserResult</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify-module.html#__lower_bool">__lower_bool()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.diff.token-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.diff.token-class.html" onclick="show_private();">token</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._TargetParserResult-class.html">_TargetParserResult</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_del_tail">_test_del_tail()</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.NumberElement-class.html#__lshift__">__lshift__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_del_tail">_test_del_tail()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_element_boolean">_test_element_boolean()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html" onclick="show_private();">_ETreeTestCaseBase</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_element_boolean">_test_element_boolean()</a><br />
-<span class="index-where">(in&nbsp;<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.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match3">_test_exslt_regexp_match3()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__lt__">__lt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match3">_test_exslt_regexp_match3()</a><br />
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match4">_test_exslt_regexp_match4()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedDataElement-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedDataElement-class.html">ObjectifiedDataElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html#_test_exslt_regexp_match4">_test_exslt_regexp_match4()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeEXSLTTestCase-class.html">ETreeEXSLTTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#_test_extension_element_attribute_context">_test_extension_element_attribute_context()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__lt__">__lt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.PyType-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.PyType-class.html">PyType</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html#_test_extension_element_attribute_context">_test_extension_element_attribute_context()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-class.html">ETreeXSLTExtElementTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_getchildren">_test_getchildren()</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.NumberElement-class.html#__lt__">__lt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__repr__">__repr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_getchildren">_test_getchildren()</a><br />
-<span class="index-where">(in&nbsp;<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">_test_pickle()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_objectify.ObjectifyTestCase-class.html">ObjectifyTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__lt__">__lt__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__reversed__">__reversed__()</a><br />
 <span class="index-where">(in&nbsp;<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_objectify.ObjectifyTestCase-class.html#_test_pickle">_test_pickle()</a><br />
-<span class="index-where">(in&nbsp;<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.ETreeErrorLogTest-class.html#_test_python_error_logging">_test_python_error_logging()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__mod__">__mod__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rlshift__">__rlshift__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html#_test_python_error_logging">_test_python_error_logging()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_wrong_unicode_encoding">_test_wrong_unicode_encoding()</a><br />
+<span class="index-where">(in&nbsp;<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.objectify.StringElement-class.html#__mod__">__mod__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rmod__">__rmod__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_test_wrong_unicode_encoding">_test_wrong_unicode_encoding()</a><br />
-<span class="index-where">(in&nbsp;<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_unicode">_test_xpath_compile_unicode()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html">ETreeETXPathClassTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__mul__">__mul__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__rmod__">__rmod__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html#_test_xpath_compile_unicode">_test_xpath_compile_unicode()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-class.html">ETreeETXPathClassTestCase</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_type__get">_type__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__mul__">__mul__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rmul__">__rmul__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_type__get">_type__get()</a><br />
+<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_type__set">_type__set()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__rmul__">__rmul__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_type__set">_type__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_validation_errors">_validation_errors</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__ne__">__ne__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__ror__">__ror__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron.Schematron-class.html#_validation_errors">_validation_errors</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron.Schematron-class.html">Schematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._Validator-class.html">_Validator</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__ne__">__ne__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rpow__">__rpow__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._Validator-class.html">_Validator</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#_value__del">_value__del()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__ne__">__ne__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rrshift__">__rrshift__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#_value__del">_value__del()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_value__del">_value__del()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__ne__">__ne__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rshift__">__rshift__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_value__del">_value__del()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#_value__del">_value__del()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.StringElement-class.html#__ne__">__ne__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.StringElement-class.html">StringElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rsub__">__rsub__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#_value__del">_value__del()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_value__del">_value__del()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__neg__">__neg__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rtruediv__">__rtruediv__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_value__del">_value__del()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html#_value__del">_value__del()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.TextareaElement-class.html">TextareaElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.AncestorsIterator-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.AncestorsIterator-class.html" onclick="show_private();">AncestorsIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__rxor__">__rxor__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html#_value__del">_value__del()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.TextareaElement-class.html">TextareaElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#_value__get">_value__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.AttributeBasedElementClassLookup-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.AttributeBasedElementClassLookup-class.html">AttributeBasedElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__setattr__">__setattr__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#_value__get">_value__get()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_value__get">_value__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.CDATA-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.CDATA-class.html">CDATA</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Attrib-class.html#__setitem__">__setitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Attrib-class.html" onclick="show_private();">_Attrib</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_value__get">_value__get()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#_value__get">_value__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.CommentBase-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.CommentBase-class.html">CommentBase</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._Element-class.html#__setitem__">__setitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._Element-class.html" onclick="show_private();">_Element</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#_value__get">_value__get()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_value__get">_value__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.CustomElementClassLookup-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.CustomElementClassLookup-class.html">CustomElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.html.FieldsDict-class.html#__setitem__">__setitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.html.FieldsDict-class.html">FieldsDict</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_value__get">_value__get()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html#_value__get">_value__get()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.TextareaElement-class.html">TextareaElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.DTD-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DTD-class.html">DTD</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__setitem__">__setitem__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html#_value__get">_value__get()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.TextareaElement-class.html">TextareaElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#_value__set">_value__set()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.DocInfo-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.DocInfo-class.html" onclick="show_private();">DocInfo</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree.QName-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.QName-class.html">QName</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.CheckboxGroup-class.html#_value__set">_value__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.CheckboxGroup-class.html">CheckboxGroup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_value__set">_value__set()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ETCompatXMLParser-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ETCompatXMLParser-class.html">ETCompatXMLParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._XSLTResultTree-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._XSLTResultTree-class.html" onclick="show_private();">_XSLTResultTree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.InputElement-class.html#_value__set">_value__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.InputElement-class.html">InputElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#_value__set">_value__set()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ETXPath-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ETXPath-class.html">ETXPath</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.BoolElement-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.BoolElement-class.html">BoolElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.RadioGroup-class.html#_value__set">_value__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.RadioGroup-class.html">RadioGroup</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_value__set">_value__set()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementBase-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementBase-class.html">ElementBase</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NoneElement-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NoneElement-class.html">NoneElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.SelectElement-class.html#_value__set">_value__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.SelectElement-class.html">SelectElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html#_value__set">_value__set()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.html.TextareaElement-class.html">TextareaElement</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementChildIterator-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementChildIterator-class.html" onclick="show_private();">ElementChildIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.html.TextareaElement-class.html#_value__set">_value__set()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.html.TextareaElement-class.html">TextareaElement</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#_wrap_et_loader">_wrap_et_loader()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementClassLookup-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementClassLookup-class.html">ElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectPath-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectPath-class.html">ObjectPath</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.ElementInclude-module.html#_wrap_et_loader">_wrap_et_loader()</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.ElementInclude-module.html">lxml.ElementInclude</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement">_writeElement()</a><br />
+<span class="index-where">(in&nbsp;<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.ElementDefaultClassLookup-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementDefaultClassLookup-class.html">ElementDefaultClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedDataElement-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedDataElement-class.html">ObjectifiedDataElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement">_writeElement()</a><br />
-<span class="index-where">(in&nbsp;<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#_writeElement">_writeElement()</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html">ETreeOnlyTestCase</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.ElementDepthFirstIterator-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementDepthFirstIterator-class.html" onclick="show_private();">ElementDepthFirstIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.ObjectifiedElement-class.html#__str__">__str__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.ObjectifiedElement-class.html">ObjectifiedElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_writeElement">_writeElement()</a><br />
-<span class="index-where">(in&nbsp;<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#_writeElementFile">_writeElementFile()</a><br />
+<span class="index-where">(in&nbsp;<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.ElementNamespaceClassLookup-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementNamespaceClassLookup-class.html">ElementNamespaceClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__sub__">__sub__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElementFile">_writeElementFile()</a><br />
-<span class="index-where">(in&nbsp;<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._XIncludeTestCase-class.html">_XIncludeTestCase</a><br />
+<span class="index-where">(in&nbsp;<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.etree.ElementTextIterator-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ElementTextIterator-class.html" onclick="show_private();">ElementTextIterator</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.doctestcompare-module.html#__test__">__test__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.doctestcompare-module.html">lxml.doctestcompare</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_etree._XIncludeTestCase-class.html">_XIncludeTestCase</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_etree-module.html">lxml.tests.test_etree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_xml_schema_root">_xml_schema_root</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.EntityBase-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.EntityBase-class.html">EntityBase</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree-module.html#__test__">__test__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.isoschematron-module.html#_xml_schema_root">_xml_schema_root</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.isoschematron-module.html">lxml.isoschematron</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html">_XmlFileTestCaseBase</a><br />
+<span class="index-where">(in&nbsp;<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.etree.FallbackElementClassLookup-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.FallbackElementClassLookup-class.html">FallbackElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify-module.html#__test__">__test__</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html">_XmlFileTestCaseBase</a><br />
-<span class="index-where">(in&nbsp;<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._XMLPullParserTest-class.html">_XMLPullParserTest</a><br />
+<span class="index-where">(in&nbsp;<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.etree.HTMLParser-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.HTMLParser-class.html">HTMLParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__truediv__">__truediv__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.tests.test_elementtree._XMLPullParserTest-class.html">_XMLPullParserTest</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.tests.test_elementtree-module.html">lxml.tests.test_elementtree</a>)</span></td>
+<td width="33%" class="link-index"><a href="lxml.etree._XPathEvaluatorBase-class.html">_XPathEvaluatorBase</a><br />
+<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.HTMLPullParser-class.html#__new__">__new__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree.HTMLPullParser-class.html" onclick="show_private();">HTMLPullParser</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.etree._XSLTResultTree-class.html#__unicode__">__unicode__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree._XSLTResultTree-class.html" onclick="show_private();">_XSLTResultTree</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._XPathEvaluatorBase-class.html">_XPathEvaluatorBase</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree._XSLTProcessingInstruction-class.html">_XSLTProcessingInstruction</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.PIBase-class.html">PIBase</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify-module.html#__unpickleElementTree">__unpickleElementTree()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify-module.html">lxml.objectify</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._XSLTProcessingInstruction-class.html">_XSLTProcessingInstruction</a><br />
+<td width="33%" class="link-index"><a href="lxml.etree._XSLTResultTree-class.html">_XSLTResultTree</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
 </tr>
 <tr>
 <span class="index-where">(in&nbsp;<a href="lxml.etree.ParserBasedElementClassLookup-class.html">ParserBasedElementClassLookup</a>)</span></td>
 <td width="33%" class="link-index"><a href="lxml.objectify.NumberElement-class.html#__xor__">__xor__()</a><br />
 <span class="index-where">(in&nbsp;<a href="lxml.objectify.NumberElement-class.html">NumberElement</a>)</span></td>
-<td width="33%" class="link-index"><a href="lxml.etree._XSLTResultTree-class.html">_XSLTResultTree</a><br />
-<span class="index-where">(in&nbsp;<a href="lxml.etree-module.html">lxml.etree</a>)</span></td>
+<td width="33%" class="link-index">&nbsp;</td>
 </tr>
 <tr>
 <td width="33%" class="link-index"><a href="lxml.etree.PyErrorLog-class.html#__new__">__new__()</a><br />
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 587a4dea0c043930af9c5f02ed7fdf5e33aee136..fbfeb51265a988659f30ebf0c861bc5d381f0b7f 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5c0ddb1af8b8329679313618a13ae4ed39318e7a..5efef3882c732299546ba84b439839b8dd99b68c 100644 (file)
@@ -236,7 +236,7 @@ with statically linked libraries.</td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index efb0df862b915c30f09f002d45ea2ec163a0203d..b26e9d53cb082e01a6f863089ad5db925a3d40ec 100644 (file)
@@ -123,7 +123,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f6047a607902905d8aea7c00ff6f6420dbb84800..568268718548b926b2fe906d810fcd5a8d9e176c 100644 (file)
@@ -277,7 +277,7 @@ form of custom URL resolvers.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3d6ad01b9f3d43aa31bd340700d95ee50aac387a..dcc042647f49fc733ba56071e92f3c271e5130ef 100644 (file)
@@ -521,7 +521,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 8f01678b2d263233d13d665f0a160a2a710ccf02..37c184008346b600bbcadbdd11e03641f0d0e135 100644 (file)
@@ -229,7 +229,7 @@ exceptions.BaseException --+           |
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b114255c5d75ffd9777cf51583d396952b2da414..bc7bf9ad7bbc930b8d9df9c36489eb6b0ecb5926 100644 (file)
@@ -202,7 +202,7 @@ The <tt class="rst-rst-rst-docutils literal rst-rst-docutils literal rst-docutil
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 44c9ca3a28178c4ac54d21167aed97a0ab4545ef..5c2ead281bdee615cac24742122b4697329e86d3 100644 (file)
@@ -455,7 +455,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0d2b34dc6b0e9d34af395f06a09fd0984cf1cf53..ab53fd1f86f2db6d9bbf11069bbf20d9faec15d4 100644 (file)
@@ -352,7 +352,7 @@ and/or a specific target <tt class="rst-docutils literal">namespace</tt> to the
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ec586daf02f848e1f322edc047f3c28e4f5c1894..9f2b0e39a8e276258a3ba936d923c153a99c3157 100644 (file)
@@ -231,7 +231,7 @@ See the <a href="lxml.cssselect.CSSSelector-class.html" class="link">CSSSelector
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c928d45fb32cc988d36c637a934bceda7661944b..38528eedfe930f7959ca8a06d84f060b41bf40a2 100644 (file)
@@ -185,7 +185,7 @@ 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-24', 'etree', 'link-1');">etree</a></tt><tt class="py-op">.</tt><tt id="link-25" 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-25', 'XPath', 'link-25');">XPath</a></tt><tt class="py-op">.</tt><tt id="link-26" 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.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.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.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.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-24', 'etree', 'link-1');">etree</a></tt><tt class="py-op">.</tt><tt id="link-25" 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-25', 'XPath', 'link-25');">XPath</a></tt><tt class="py-op">.</tt><tt id="link-26" 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.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.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__
@@ -224,6 +224,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -299,7 +300,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 07003cbdf8f2c04a2bed9014300dee602ee945c0..14daff1d33ef4595ada879816164a7d9c015450d 100644 (file)
@@ -308,7 +308,7 @@ mapping as <tt class="rst-docutils literal">namespaces</tt> keyword argument:</p
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c6255b4b5daa1cfb6fc9e20b9daaa9c0e87de1b4..c316f302b51580733b1a96665520214746a565b7 100644 (file)
@@ -310,7 +310,7 @@ lxml extensions + HTML support.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a3adf9047563549c538c613444e1e207355fd6a4..1ddfe95031f15509f730a98c2a73b5711f2997ab 100644 (file)
@@ -362,7 +362,7 @@ A custom CSS selector to XPath translator with lxml-specific extensions.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d6aca6da521ac74c7ed036bb0699468c5440f431..9bcd3d27448155f565669e2eebf5e47267cc0fc1 100644 (file)
@@ -493,7 +493,7 @@ etree.HTMLParser(recover= False, remove_blank_text= True)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 01ed7eebea0ffe917637838c8fb20abc09ec68ae..896000952eea753ac7a5715ef5256e3b5c67d3f7 100644 (file)
@@ -1105,7 +1105,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5779807ba5c5c711beb55af146f46f931ff2b616..cb27b0a3ec35feb6082f0cbcb8745922554d52a0 100644 (file)
@@ -229,7 +229,7 @@ doctest.OutputChecker --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index fc38282b27c3b445d20626eded67e8264ecaecd6..f5ed5074fa1a1f8222aa0d21068633ddc86b1031 100644 (file)
@@ -610,7 +610,7 @@ to compare <code class="link">want</code> and <code class="link">got</code>.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 30a15e46247f57a2c1ee78f552674b91225b6cd0..f151ef1fd24c0e8ce7f1d2b410bcf6ee575cf697 100644 (file)
@@ -349,7 +349,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0bb5beeb462a1cbe02e5df014bc8c63f698abee2..a65b4ef66b3e9b097a60f39d8beab62e0cad887d 100644 (file)
@@ -66,7 +66,7 @@ for XML.
 
 <hr />
 <div class="fields">      <p><strong>Version:</strong>
-        2.3.6
+        3.4.1
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -933,6 +933,14 @@ A dictionary-like proxy class that mapps ID attributes to elements.
         <a href="lxml.etree._XSLTResultTree-class.html" class="summary-name" onclick="show_private();">_XSLTResultTree</a>
     </td>
   </tr>
+<tr class="private">
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="lxml.etree.htmlfile-class.html" class="summary-name" onclick="show_private();">htmlfile</a><br />
+      htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)
+    </td>
+  </tr>
 <tr>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
@@ -1696,7 +1704,7 @@ standard Python logging package.</td>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="LXML_VERSION"></a><span class="summary-name">LXML_VERSION</span> = <code title="(2, 3, 6, 0)"><code class="variable-group">(</code>2<code class="variable-op">, </code>3<code class="variable-op">, </code>6<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, 4, 1, 0)"><code class="variable-group">(</code>3<code class="variable-op">, </code>4<code class="variable-op">, </code>1<code class="variable-op">, </code>0<code class="variable-group">)</code></code>
     </td>
   </tr>
 <tr class="private">
@@ -1712,13 +1720,13 @@ standard Python logging package.</td>
       <span class="summary-type">&nbsp;</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': &lt;capsule object &quot;void (struct LxmlElement *, struct Lx\
-mlElement *)&quot; at 0x2ac9b08d8f60&gt;,
+mlElement *)&quot; at 0x2b9ef8999f60&gt;,
  'appendChildToElement': &lt;capsule object &quot;int (struct LxmlElement *, s\
-truct LxmlElement *)&quot; at 0x2ac9b08d8f90&gt;,
+truct LxmlElement *)&quot; at 0x2b9ef8999f90&gt;,
  'attributeValue': &lt;capsule object &quot;PyObject *(xmlNode *, xmlAttr *)&quot; \
-at 0x2ac9b08d8c30&gt;,
+at 0x2b9ef8999c30&gt;,
  'attributeValueFromNsName': &lt;capsule object &quot;PyObject *(xmlNode *, co\
-nst xmlChar *, const xmlChar *)&quot; at 0x2ac9b08d8c60&gt;,
+nst xmlChar *, const xmlChar *)&quot; at 0x2b9ef8999c60&gt;,
 ..."><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>&lt;capsule object &quot;void (struct L<code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
@@ -1741,7 +1749,7 @@ nst xmlChar *, const xmlChar *)&quot; at 0x2ac9b08d8c60&gt;,
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="memory_debugger"></a><span class="summary-name">memory_debugger</span> = <code title="&lt;lxml.etree._MemDebug object at 0x2ac9ac5c58a0&gt;">&lt;lxml.etree._MemDebug object at 0x2ac9ac5c58a0&gt;</code>
+        <a name="memory_debugger"></a><span class="summary-name">memory_debugger</span> = <code title="&lt;lxml.etree._MemDebug object at 0x2b9ef46868b0&gt;">&lt;lxml.etree._MemDebug object at 0x2b9ef46868b0&gt;</code>
     </td>
   </tr>
 </table>
@@ -2395,13 +2403,13 @@ function will only set the global error log of the current thread.</p>
     <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>&lt;capsule object &quot;void (struct LxmlElement *, struct Lx<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-mlElement *)&quot; at 0x2ac9b08d8f60&gt;<code class="variable-op">,</code>
+mlElement *)&quot; at 0x2b9ef8999f60&gt;<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>&lt;capsule object &quot;int (struct LxmlElement *, s<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-truct LxmlElement *)&quot; at 0x2ac9b08d8f90&gt;<code class="variable-op">,</code>
+truct LxmlElement *)&quot; at 0x2b9ef8999f90&gt;<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>&lt;capsule object &quot;PyObject *(xmlNode *, xmlAttr *)&quot; <span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-at 0x2ac9b08d8c30&gt;<code class="variable-op">,</code>
+at 0x2b9ef8999c30&gt;<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>&lt;capsule object &quot;PyObject *(xmlNode *, co<span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
-nst xmlChar *, const xmlChar *)&quot; at 0x2ac9b08d8c60&gt;<code class="variable-op">,</code>
+nst xmlChar *, const xmlChar *)&quot; at 0x2b9ef8999c60&gt;<code class="variable-op">,</code>
 <code class="variable-ellipsis">...</code>
 </pre></td></tr></table>
 </dd>
@@ -2466,7 +2474,7 @@ nst xmlChar *, const xmlChar *)&quot; at 0x2ac9b08d8c60&gt;<code class="variable
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 738a60eeeeee35eca60802900595013d25c9a1f7..4a72b854b9e30ab51f55a44392df4ed33df98b5f 100644 (file)
@@ -233,7 +233,7 @@ Iterates over the ancestors of an element (from parent to parent).
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 092ea74694fc3bc1469069fa4957448c64cea57b..5c507764d67afa6f092ed29ce7f61b6f942612af 100644 (file)
@@ -293,7 +293,7 @@ missing.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a4743d666e880bba93e7e2a7dd7e2c45a5888649..0fe60c603a4984bf51be1332e457e01dfc2cf499 100644 (file)
@@ -211,7 +211,7 @@ Error during C14N serialisation.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3b719e90a40227c158efe0a840248e6993f7022d..792239519f7a3392276ff314994689eea53639dd 100644 (file)
@@ -236,7 +236,7 @@ a string
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9ff45395aefcef2a7306a817888271a8feeda386..1d37b91a25c95c7a48a9ba48ab9e5174d2a39dd2 100644 (file)
@@ -348,7 +348,7 @@ called after object creation.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e6a7f16b0ff1b92bdafc5542b741722b07c63c91..cee42eec33f5f1e2c62365dbb4ff23a77d69da3e 100644 (file)
@@ -272,7 +272,7 @@ lookup(self, type, doc, namespace, name)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5ff9c09d5c08e74f81ba305a61da3b2b4348afa1..80d742873f5de7a4a9d4dd9e74a920dc94cdcd2f 100644 (file)
@@ -411,7 +411,7 @@ catalog.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c72690b19099017ebbe264f3b8153df2bf1ec93e..e50c2764f66fd30b17cd5fae3f9a6275e2cc005e 100644 (file)
@@ -217,7 +217,7 @@ Base class for DTD errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 02a43c4be6586b4469ae412f005f6cb5e3f2e009..ca0100fce9725d617fd62d69ceb2980dfe9cdff9 100644 (file)
@@ -213,7 +213,7 @@ Error while parsing a DTD.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 53a31a59d37764d26fc45b4eba66e6a1b04fe1ce..fadcac86aabafbbb0c9fa8f1d6351c229e53c74a 100644 (file)
@@ -213,7 +213,7 @@ Error while validating an XML document with a DTD.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 64b89642801917a9c1ad5758135b3f162b35e5a0..a1dcaf413d5190daabc174d62293b113528bee18 100644 (file)
@@ -310,7 +310,7 @@ normal truth test on this value will always tell if the
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d981eed3d580d6c8b9d58c6b9d0ee3e3ace93468..f5680ed75bce77c17743c475624830ff350f8749 100644 (file)
@@ -213,7 +213,7 @@ method fails.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 87cc02fc3e33682656c7f3bec839c8a4656d5bc7..dc1ca85f5814e851a363cca860a6566cc5b05b92 100644 (file)
@@ -325,7 +325,7 @@ and thus ignores comments and processing instructions.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 815d8665fa10cd6daaab0435cc34094da5c3ce25..fb43c64d54a66d239c0af2afcbcda6a9fbca03f3 100644 (file)
@@ -293,7 +293,7 @@ you pass <tt class="rst-docutils literal">smart_strings=False</tt>.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ec740915d13af9b7d289dc5762b680bab76ec9cd..c664b2bdd33260554ba9f8d966e725d83f9b7992 100644 (file)
@@ -361,7 +361,7 @@ hierarchies that implement a common namespace.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3c8be7e7a364c177187130b922988fd5135aae9b..f86df1c2ea4194f3061d0513df1cdc7b9fd16b19 100644 (file)
@@ -233,7 +233,7 @@ Iterates over the children of an element.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9fbe4d14f7c9c5211bdf72fce6ab01d58c226551..a89c5c8056f6e8106d209572e6522963273741e8 100644 (file)
@@ -232,7 +232,7 @@ Superclass of Element class lookups.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b5f63a5968d0c6e4a11ed4d3b0c52779da61041b..a0ee1394c06d8059b939237e65180e44508b27ed 100644 (file)
@@ -306,7 +306,7 @@ accept the respective Element classes.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 198f3a6aa27738b9ecf04b19c8682f80d7ae71a5..5c8937740c9410b55eb1a2020c42b453f5b2a410 100644 (file)
@@ -287,7 +287,7 @@ tree it traverses is modified during iteration.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d0ecc105970d4c4ce5f24f4dab5111cc08af7713..a40ab43fe61eea537e7ab5586265491fae5d36e7 100644 (file)
@@ -319,7 +319,7 @@ Pass None for the empty namespace.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 149644ffa5222b627ab8a7d6a1f7ae4ec2b2291f..a3f05bc3e86fbc3a213323f9c82c870dc18245d3 100644 (file)
@@ -279,7 +279,7 @@ tail text (e.g. if you know that it's only whitespace from pretty-printing).</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6e33a3cff6eb236661ea6f73792fc348af7cd547..74f35bccf638194e43fd0808e2bbc10e12afc6ea 100644 (file)
@@ -349,7 +349,7 @@ called after object creation.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 27481e03353dd8a6740ee00bf1736c9cff2eb51a..8f7f63e704cf838de84f79dec535527b1bd335cb 100644 (file)
@@ -209,7 +209,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 73e06ba8f14d3a037fa5f56b8b053b23396a1446..76f441025c5b4f7003839cd1265d798f50953350 100644 (file)
@@ -485,7 +485,7 @@ Libxml2 error domains
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1bac4b34d1739b1614db570a3f2c18205ebf4ea9..70a3fedf0967e14269536d6bfe9aedadfb8dca93 100644 (file)
@@ -243,7 +243,7 @@ Libxml2 error levels
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9bd1f21f62d4212ce4f5373f0381818531c27e78..6ea60b53d65a768f2f61e7359e2cd910bce4e7f8 100644 (file)
@@ -5406,7 +5406,7 @@ Libxml2 error types
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 581e7e1e20d7765943900525fdb429618ccc7c4a..c38d36966972586c50ffba8a9cc94016044aafd7 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 290a6953fd962c905b752dd3802fb4027dd4127d..39e100a5921f6b26ec7cb0f592a984f221f59b16 100644 (file)
@@ -336,7 +336,7 @@ reasons.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7fe4f4f7b4047877657520e6fac829151959ac37..57c6b3187198c3be6ed65af3841282dd0320e3be 100644 (file)
@@ -326,7 +326,7 @@ source, you can pass the <tt class="rst-docutils literal">base_url</tt>.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d0d8e5f37fe8e6553cb30e6510cbd9945b9ec07a..48590258a66dd9646476471053f1bdbe739db20b 100644 (file)
@@ -273,7 +273,7 @@ this one.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d253ac0578922e1612e05e8b6c0773ab1aa54e82..acc170b19938ef936b996d05ee38a2d8c3f50340 100644 (file)
@@ -217,7 +217,7 @@ Base class of lxml registry errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9e24f146fe576e27e60f6ac651fb5316f1126f32..036369553d58d327878619a198c78e5db639ef72 100644 (file)
@@ -235,7 +235,7 @@ Base class for all syntax errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cd38cee73ee3f313035329370834d5722cbe31be..0053f0b922684414418b82dfb905a35413762db0 100644 (file)
@@ -213,7 +213,7 @@ Error registering a namespace extension.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5252e7465abea2d756345ff3edee2469689f922b..309003c8778664a2e7607a15920cddedc7cdac5f 100644 (file)
@@ -350,7 +350,7 @@ called after object creation.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6f5cb9b1122dc4ccf9dbb947faa05eb2f769792c..69b94a73148762d5aef42068ed804b813181a5ff 100644 (file)
@@ -295,7 +295,7 @@ exceptions.BaseException --+           |
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 859637896718e0b89cea9a57e6b4b793da1026e1..bded4338d0e3d704846b764877b656bec813b551 100644 (file)
@@ -236,7 +236,7 @@ Element class lookup based on the XML parser.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index df8bb954c1489ad4f4c7897a7f7951a745921a22..5881e00656a40592e500134f28b21ff4b7099653 100644 (file)
@@ -211,7 +211,7 @@ Internal lxml parser error.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9bce5fa9b58301cf2071a50dd7038122f99361e0..391799e9a0f4ecad721f5fd9da900988dfc5ac0c 100644 (file)
@@ -433,7 +433,7 @@ format.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 92a8b8d3652ecd4b37ca611b26fbbcbf2bc0f78c..5f3c82758666ef84ddceace2b5cf90a7b9c1d6d4 100644 (file)
@@ -289,7 +289,7 @@ iteration methods).</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 65b0eeddda55c135c4632f105aefe7b065e08b1c..68e62f8c53ebff1c39a4c32c55e6ef8e699067bb 100644 (file)
@@ -486,7 +486,7 @@ their text content.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 652ffae5117a171a2670ba49d8da21c2a8e17398..8856578b27753af813f63b39cbf58be7e4dba20e 100644 (file)
@@ -325,7 +325,7 @@ filename through the <tt class="rst-docutils literal">file</tt> keyword argument
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index afcc9d6cff0f253a6b3cd43fde4db7eb9af33405..466c6558c53fb311ef55b3acdfc4dcd347b2b3f5 100644 (file)
@@ -217,7 +217,7 @@ Base class for RelaxNG errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 67975e9783d5a140c37a89b7a5437daea4830c1c..9c39a5c726fb3f15b11b50101937a31d4a472cea 100644 (file)
@@ -548,7 +548,7 @@ Libxml2 RelaxNG error types
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f272b38492e93b781668597169e606b32a6a1905..d5fcf33c560d7d65665af7fb682d3a54f5c213ce 100644 (file)
@@ -213,7 +213,7 @@ Error while parsing an XML document as RelaxNG.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 8bcc880736baf1a35b055d478a26c57b2e8e2d1c..5ff71f90a1ad2173a4a07ee4550c62d4708350a2 100644 (file)
@@ -213,7 +213,7 @@ Error while validating an XML document with a RelaxNG schema.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9852129db20a9f6a8901d983884f8a25e05f0e09..d56a19f512a0a0fc7d591cab047ca0e4c8aa36e9 100644 (file)
@@ -454,7 +454,7 @@ argument.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 207654e9faee7f5a87d4ddaaf92e513cf9850ba5..167114f034aeb1dca57d5c03b207da96be33cfef 100644 (file)
@@ -366,7 +366,7 @@ errors in lxml.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 612110a2397684f484893b1d740bbf130f9d4257..c890f73d1e6cd2b847d37c86372d7002f347cdaa 100644 (file)
@@ -217,7 +217,7 @@ Base class of all Schematron errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dc8c6efe1eb17ce292ab0dd2a69128056c4573c3..5fc5c2d52b7f9951d6bfacab2e3a028825eeb0a0 100644 (file)
@@ -213,7 +213,7 @@ Error while parsing an XML document as Schematron schema.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c35ea3b30a8b42fa6360b68111036b281cbd69f5..ee0b4d5276d6cec36ac9fd3d3500f053ff33e325 100644 (file)
@@ -213,7 +213,7 @@ Error while validating an XML document with a Schematron schema.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 97fc074070b304bfcaa80bad5be5f6c02186d13b..098423a0619905e5fbf52660997be32e98716790 100644 (file)
@@ -211,7 +211,7 @@ A libxml2 error that occurred during serialisation.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 317e098f23d4adc98ac5dcb3a8ad67497b745e0a..b3ed1b63b50cddf7f54e1db760b88457f6896f58 100644 (file)
@@ -234,7 +234,7 @@ Iterates over the siblings of an element.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index be747bc88279eefdbe3aff66cdcc01ffb49854d5..dda72b108288e2d6e33148506d5e9cf9f22643c5 100644 (file)
@@ -382,7 +382,7 @@ element.</td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 507bb7d47c23eced9b0bd037b65e8fab437fcec6..f7a68936843721fcbe9d5889d9bade14f805c3d6 100644 (file)
@@ -291,7 +291,7 @@ processing.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 854d8dd7e4b9dc03080208d852396508826cb152..c27e476a1e4d331cbf84b246a5460ad2efdca4e9 100644 (file)
@@ -211,7 +211,7 @@ Error during XInclude processing.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1ee0de76442f4fdfc7bf396f7b035876c85c82a7..2fa0e0383dbda5f2abc295dfbde9ff39f0f00ad0 100644 (file)
@@ -380,7 +380,7 @@ apply to the default parser.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 940195b652379d72a44f15701f4429fe5341b300..a477436d98df8b482885369b5b76e51595e737d8 100644 (file)
@@ -324,7 +324,7 @@ source, you can pass the <tt class="rst-docutils literal">base_url</tt>.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c822ee74de40df90532e0c59489f7e53c2e04396..5cc80b009f44b41cadc61c93fb07388014a91567 100644 (file)
@@ -327,7 +327,7 @@ schema insert default/fixed attributes into validated documents.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6c1b6ecd64e2e09cf6eee685bda9ba584c1cd02b..0e1553c19ba6c28bebf70039aefce4a28a511826 100644 (file)
@@ -217,7 +217,7 @@ Base class of all XML Schema errors
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e4243477a28b41e118038ed5cb8beb38052098a6..36599299be361ff764e4baa3d0c5049cfc5e5a02 100644 (file)
@@ -213,7 +213,7 @@ Error while parsing an XML document as XML Schema.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 949b30e33c87ae3db7ae0b6792ff98e53b8f3197..fb3f5872c48805ec972ae5e4de7d07986e0d606a 100644 (file)
@@ -213,7 +213,7 @@ Error while validating an XML document with an XML Schema.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5a0d89182713d00779221234469bf147e8689d2a..6d546980ed8e6878f7490df735489fa41aa38fa6 100644 (file)
@@ -233,7 +233,7 @@ Syntax error while parsing an XML document.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 62e3fb4314565d4e5a5daf2a1233d7be0aa0ca8d..c14bc7fd36026b4e096535ca41e4b28b23f9436b 100644 (file)
@@ -361,7 +361,7 @@ returned for string results unless you pass
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 22022f018009925adc3a0337cd3a04d9cc4d18f4..56f1ec234c002d3ceb59410aeea1295153d7ece1 100644 (file)
@@ -340,7 +340,7 @@ are currently not supported for variables.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2e9ee157cb770a020af8ef5291074f113af397ab..f33b4895405bcb84f8caac59d5952d472293b891 100644 (file)
@@ -375,7 +375,7 @@ against the ElementTree as returned by getroottree().</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2a4814df2996b0b0d150ad1cb86a6d25c73bb699..549ff18e64812de63a8e09ea0b1c4d94b4c856eb 100644 (file)
@@ -217,7 +217,7 @@ Base class of all XPath errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5de84265157dc206a0616e11155e196fe9898c5d..c09ce4510f5016423d91e12aeffcd42f447f0ddb 100644 (file)
@@ -219,7 +219,7 @@ Error during XPath evaluation.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0e5da3254c1b0b672e5dd8595a34b110f961b534..9194552212db7f0e50f21f35dc806eeac794fcc6 100644 (file)
@@ -215,7 +215,7 @@ Internal error looking up an XPath extension function.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index fcf991b50acca810fab449582a468329c2ea7baf..81003d61bc573ac60d42757b8d9952b87476318e 100644 (file)
@@ -215,7 +215,7 @@ Error handling an XPath result.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b39f5a3fbc85a4299ccf0f8c181d5c54e698dd4b..880ae198a8e03d93ca74576c550ae6f6910fd65f 100644 (file)
@@ -241,7 +241,7 @@ exceptions.BaseException --+               |
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e8279de9668f90f60cb45d751de9d2f4a351255b..fb50b4c77f272d5b4297589a934609d8b43d8d01 100644 (file)
@@ -575,7 +575,7 @@ result = transform(doc, some_strval = XSLT.strparam(
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dfc5f9714d5d8280061cc59902064e886faba65e..30af7f186a82699e9ce4633590b3c84e5e9de395 100644 (file)
@@ -428,7 +428,7 @@ XSLTAccessControl(create_dir=False, read_file=True, read_network=True,<span clas
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dbb4cc37d5e970e44c23ef5778add1d2ea618ae0..bd7cd1c12402e01dd5b8c46dbef2c0189490ac70 100644 (file)
@@ -213,7 +213,7 @@ Error running an XSL transformation.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e10576f0745f279a3ff1181d6052a706e82bdec8..f62a8a6d8680bcc61c1c6d15734362186ec3aa6c 100644 (file)
@@ -217,7 +217,7 @@ Base class of all XSLT errors.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 003f88f4653467bc5de8432182bf9e0f8ff10972..a1ae1ef3b65b0021718da5227ee302dad997ed29 100644 (file)
@@ -397,7 +397,7 @@ case.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 10d367b51d98987d0d7fecc2d7200e319fde44ea..55812f6a341c4d59408a3430affbd008522668c5 100644 (file)
@@ -213,7 +213,7 @@ Error registering an XSLT extension.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2d1896335de53aca4bb316135dcb45645d7e8ee3..88f37fdeebc16bb1fc95cae10da23f462d05528a 100644 (file)
@@ -213,7 +213,7 @@ Error parsing a stylesheet document.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d823901dac7064d78e9e1429058497c304b6b43c..4e90673f441de2db27fc25965ae3f9632de65124 100644 (file)
@@ -213,7 +213,7 @@ Error serialising an XSLT result.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f3625ca3855b1162f203dc67f7aec0dadef46ff3..b2025d2df813a501b0a1f478d44957a8ab8ad6ad 100644 (file)
@@ -704,7 +704,7 @@ A dict-like proxy for the <tt class="rst-rst-rst-docutils literal rst-rst-docuti
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4ece7122e4a20b991698218ace4e014fc50831d3..c1ee52dffbbb606f4eaa9722c8b6c8b166860a08 100644 (file)
@@ -346,7 +346,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1737acf1d5984a052afd107c762a3b64dc0f07cd..1f11b7ec96854b2b52ec6a9e7a8bfb751654bd3d 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 434833e7fb8ed110edf2e56efe3d130bb05008b4..b1dd07f184ec4583fb4ff72805dbb70f14552b18 100644 (file)
@@ -227,7 +227,7 @@ document is cleaned up.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index da5ed51a6995b796e4b9389c972e0f6e3ddfe46f..865623f0571e3702b6a8f447a3d238201bc300b4 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e00f6a9d7e9202589a97f3f9002737937333f4ca..3e9a826eb244b851bd9a7767cab3f0d5dd3b4427 100644 (file)
@@ -1600,7 +1600,7 @@ parents.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4f04240b8e67d1e545b0da0108c482013b11d889..c7dd4ee7adaf9016895263837ba489df5388f267 100644 (file)
@@ -276,7 +276,7 @@ Dead but public. :)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f5acfa6741fd47610a759b81776df6bcb10bfdbb..7fdf9c1f5072fe4284606f74a6118f0250fd603c 100644 (file)
@@ -278,7 +278,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cb02fb383966e81c3b29086f941f151b90b92b25..4ec9c90b1a5d9fba63c1e0cc94ffdb046a68a145 100644 (file)
@@ -267,7 +267,7 @@ basestring --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 00ac8f9ea524995d20a81264606eeecc90e7ca7f..c60fcc01fe6a2e96bf0319051862e3a21bcc95da 100644 (file)
@@ -231,7 +231,7 @@ Dead but public. :)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e56bd0bf2c01df50bd2dbfe2e54ff8fb01457006..f9e83f27e80651da5a5f5020f25c5e23943c5fe3 100644 (file)
@@ -1070,7 +1070,7 @@ class directly.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e3adcaa1070c99bb97a3668855132303923e86f3..f77b6d42bfafe4c5a82042c4931612ff2ecc3018 100644 (file)
@@ -333,7 +333,7 @@ basestring --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f1c5dee3889633e453546978ade18cc67e7e0d3a..4ca23371e2f76a2548de09a3e7b879340bcbdd7e 100644 (file)
@@ -355,7 +355,7 @@ the value None, if there was no text.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f77b55fd3f8a585f1a644dce2bd5743ccc31856b..0ab3d809ee3e067fafc2b44171da28b0cde10b5b 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e46c79601d9b36a223c6fe6edda6308ad727eaf4..433545f1232ca09db2eccc2a0da266cfe4bf98f8 100644 (file)
@@ -377,7 +377,7 @@ different from what the <tt class="rst-docutils literal">error_log</tt> property
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 52062af11810d63a4d34a650726477aebd23fbf6..b726cdc7455c944487e02b83f3a3b4f19effcc90 100644 (file)
@@ -482,7 +482,7 @@ that were created or modified 'by hand' are not supported.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e2ec0f7eb5ec95e859f713e1f795cda82e12b8e4..af271988e41747d4a91f4e85328e7c05597913e6 100644 (file)
@@ -570,7 +570,7 @@ entries.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2d260c18d19188011fceefcfa4e549e3b527a447..b6907e33a9847a0559cd256fd6357fcc38ac1df1 100644 (file)
@@ -347,7 +347,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2df6d5fce2422cb6ac4d1172ee27174ef56b969e..eef5b71f712a5e4f18e5bc24184c416b548addd5 100644 (file)
@@ -407,7 +407,7 @@ It is not guaranteed to work for all possible text content.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index bf2fa0ee2b716f8357e2b5fe7bc9c99e075fbc6d..cad45715790bc67fb2105c8d88106489c1794ae3 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index fa43777a1b2fcb7cb691bd7ca13897a31405d0ca..9232dcf7c6fdcb227ed0d69c99465db60cd98331 100644 (file)
@@ -229,7 +229,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 844fb55d1754b35919851cff3a372da88315c59b..609e2cc8ac6651710960bab2ea2b2d49e2c9230e 100644 (file)
@@ -262,7 +262,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ec8f20821929cb52302295e5c675787652f7239f..f024a9a3f30d77d05be6b8b791401f53d8366ca0 100644 (file)
@@ -346,7 +346,7 @@ Base class for XML validators.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 72cfe2176e8f1aa9ce02ec0676807bff9246f912..a593dd23ddd98e2da85b70229436c6a0cb0dca34 100644 (file)
@@ -322,7 +322,7 @@ are currently not supported for variables.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ed3251dc3ce8fc886e60d8a7e0ea1b9d494f8b0a..f4efaa15c0119087c7cbbc21942d908916cb1c6f 100644 (file)
@@ -389,7 +389,7 @@ the processing instruction.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c535e50c49dd0b892b39a57e994b491d7e22faaa..1a5cab6e59036c30e247e33cc98ad26512ea65bb 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/api/lxml.etree.htmlfile-class.html b/doc/html/api/lxml.etree.htmlfile-class.html
new file mode 100644 (file)
index 0000000..c8e2119
--- /dev/null
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>lxml.etree.htmlfile</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="/">lxml API</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="lxml-module.html">Package&nbsp;lxml</a> ::
+        <a href="lxml.etree-module.html">Module&nbsp;etree</a> ::
+        Class&nbsp;htmlfile
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="lxml.etree.htmlfile-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class htmlfile</h1><p class="nomargin-top"></p>
+<pre class="base-tree">
+object --+    
+         |    
+   <a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a> --+
+             |
+            <strong class="uidshort">htmlfile</strong>
+</pre>
+
+<hr />
+<p>htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)</p>
+<p>A simple mechanism for incremental HTML serialisation.  Works the same as
+xmlfile.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="lxml.etree.htmlfile-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">output_file</span>,
+        <span class="summary-sig-arg">encoding</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">compression</span>=<span class="summary-sig-default">None</span>,
+        <span class="summary-sig-arg">close</span>=<span class="summary-sig-default">False</span>,
+        <span class="summary-sig-arg">buffered</span>=<span class="summary-sig-default">True</span>)</span><br />
+      x.__init__(...) initializes x; see help(type(x)) for signature</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">a new object with type S, a subtype of T</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="lxml.etree.htmlfile-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
+        <span class="summary-sig-arg">S</span>,
+        <span class="summary-sig-arg">...</span>)</span></td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.etree.xmlfile-class.html" onclick="show_private();">xmlfile</a></code></b>:
+      <code><a href="lxml.etree.xmlfile-class.html#__enter__">__enter__</a></code>,
+      <code><a href="lxml.etree.xmlfile-class.html#__exit__">__exit__</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__hash__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__repr__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__str__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="__init__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
+        <span class="sig-arg">output_file</span>,
+        <span class="sig-arg">encoding</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">compression</span>=<span class="sig-default">None</span>,
+        <span class="sig-arg">close</span>=<span class="sig-default">False</span>,
+        <span class="sig-arg">buffered</span>=<span class="sig-default">True</span>)</span>
+    <br /><em class="fname">(Constructor)</em>
+  </h3>
+  </td><td align="right" valign="top"
+    >&nbsp;
+    </td>
+  </tr></table>
+  
+  x.__init__(...) initializes x; see help(type(x)) for signature
+  <dl class="fields">
+    <dt>Overrides:
+        object.__init__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<a name="__new__"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
+        <span class="sig-arg">S</span>,
+        <span class="sig-arg">...</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    >&nbsp;
+    </td>
+  </tr></table>
+  
+  
+  <dl class="fields">
+    <dt>Returns: a new object with type S, a subtype of T</dt>
+    <dt>Overrides:
+        object.__new__
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="/">lxml API</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
index 50f87d3fd70221492229ffe9d0b7d152f72bec20..ed1453d0e562cff0db1cbfa507e974486573b571 100644 (file)
@@ -500,7 +500,7 @@ attribute default values are requested.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2a848e6e218def7cad0839dcbcec46b9f6181ee7..4271996093b9ea18a1ee0ca5f5161f2b1f315a7f 100644 (file)
@@ -323,7 +323,7 @@ was parsing XML data with <tt class="rst-docutils literal">iterparse()</tt>.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e3cf72f9e8429c9f1b5c29fc381597a7a15993d7..2da21dbc572fe95d229bd98ff317df7d00c0e730 100644 (file)
@@ -68,6 +68,12 @@ object --+
         <strong class="uidshort">xmlfile</strong>
 </pre>
 
+<dl><dt>Known Subclasses:</dt>
+<dd>
+      <ul class="subclass-list">
+<li class="private"><a href="lxml.etree.htmlfile-class.html" onclick="show_private();">htmlfile</a></li>  </ul>
+</dd></dl>
+
 <hr />
 <p>xmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)</p>
 <p>A simple mechanism for incremental XML serialisation.</p>
@@ -336,7 +342,7 @@ explicitly flush any pending output when buffering is enabled.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dd45151b424865e68d43d0d8f4a2ce71b2fc96e8..9e96b40037ba14c0dfd1ddd1c5a2398ed3d8fad4 100644 (file)
@@ -1334,7 +1334,7 @@ _MethodFunc('make_links_absolute', copy= True)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9b016a67f936b8565785eb870525112a5e28cf48..2d5b92013be6a96d96c1d17df8ec056d8f867893 100644 (file)
@@ -1060,7 +1060,7 @@ 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-264', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name" targets="Class lxml.etree.CustomElementClassLookup=lxml.etree.CustomElementClassLookup-class.html"><a title="lxml.etree.CustomElementClassLookup" class="py-name" href="#" onclick="return doclink('link-265', 'CustomElementClassLookup', 'link-265');">CustomElementClassLookup</a></tt><tt class="py-op">.</tt><tt id="link-266" 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.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.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.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.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-264', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name" targets="Class lxml.etree.CustomElementClassLookup=lxml.etree.CustomElementClassLookup-class.html"><a title="lxml.etree.CustomElementClassLookup" class="py-name" href="#" onclick="return doclink('link-265', 'CustomElementClassLookup', 'link-265');">CustomElementClassLookup</a></tt><tt class="py-op">.</tt><tt id="link-266" 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.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.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__
@@ -1099,6 +1099,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -3540,6 +3541,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -3631,6 +3633,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -3719,7 +3722,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 135116980d5ff31e654e40297380a16ab96d9f07..3d7e9a148f7396f5d2beb65a130cd1a122d65580 100644 (file)
@@ -413,7 +413,7 @@ uncheck individual checkboxes according to their value.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f1ffdffe0c2c85345e07cc4c453da96ad0d7ed40..cfa37aa9960543a8eb1bd769b3e1bc58769b4b6a 100644 (file)
@@ -346,7 +346,7 @@ checkboxes with the same name.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3b8a4fca9a887eba6e803497ffcd06652aac7d14..39bc4481a8ffea896c55a675d23bf6feecf68232 100644 (file)
@@ -263,7 +263,7 @@ keyword.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 465cbc35f7b8666972d233962680699df651fcf9..e3b1d1149a9031c2e304fb17cecc2a8ac2fa813c 100644 (file)
@@ -119,7 +119,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b037f170759508ef344e9c2a6a6d03e4e27c553e..80d274771612f37642891e5f283625ebc2cdd3ec 100644 (file)
@@ -364,7 +364,7 @@ _abcoll.Container --+
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</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="&lt;_weakrefset.WeakSet object at 0x2ac9b29ff790&gt;">&lt;_weakrefset.WeakSet object at 0x2ac9b29<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="&lt;_weakrefset.WeakSet object at 0x2b9efaac29d0&gt;">&lt;_weakrefset.WeakSet object at 0x2b9efaa<code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
 <tr class="private">
@@ -378,7 +378,7 @@ _abcoll.Container --+
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="_abc_registry"></a><span class="summary-name">_abc_registry</span> = <code title="&lt;_weakrefset.WeakSet object at 0x2ac9b29ff650&gt;">&lt;_weakrefset.WeakSet object at 0x2ac9b29ff650&gt;</code>
+        <a name="_abc_registry"></a><span class="summary-name">_abc_registry</span> = <code title="&lt;_weakrefset.WeakSet object at 0x2b9efaac2890&gt;">&lt;_weakrefset.WeakSet object at 0x2b9efaac2890&gt;</code>
     </td>
   </tr>
   <tr>
@@ -681,7 +681,7 @@ _abcoll.Container --+
   <dl class="fields">
     <dt>Value:</dt>
       <dd><table><tr><td><pre class="variable">
-&lt;_weakrefset.WeakSet object at 0x2ac9b29ff790&gt;
+&lt;_weakrefset.WeakSet object at 0x2b9efaac29d0&gt;
 </pre></td></tr></table>
 </dd>
   </dl>
@@ -719,7 +719,7 @@ _abcoll.Container --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 66a377bde06e40367bf0b6f479ad61561f8e7912..d345fe4232be1580a9c4a92a74758acbbf24c62b 100644 (file)
@@ -550,7 +550,7 @@ string, and defaults to <tt class="rst-rst-docutils literal rst-docutils literal
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4f14268ab8fbad77bc12445155eb6b5faecb5193..c449423d352a9d2c1cd407271324ac9c8b3df82e 100644 (file)
@@ -254,7 +254,7 @@ objects.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d2b3037cad2d5e1d7157f326315b5734dc851f68..6d81320cc260e40c5caaf70d09fd14ae20022cc3 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b5b57fce876909e251622d64f9410d3b53ba68fa..7b5690ae7c3cfe68b447169d17753ed2607cf727 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ca057515ac6851962ed7e19b489d42e3f64b8446..afcdf3d8afbd4fddaffaf6508549c93e6fb8a944 100644 (file)
@@ -364,7 +364,7 @@ Element classes.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0c25f91a40c8536430965c35e5967661139ccd0d..3ce6671b020248a3755c3a43a92d777a2678832a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7d988e7fc062f96c92ca1bea52951782b3a7428d..a0c9b667964623c5b59195b6eb7434bdabc6b0c6 100644 (file)
@@ -800,7 +800,7 @@ element to get the document's head.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7e02d5b9abc6cbacbb4399b4d594668886cfc4d2..48eea89f0014d5ce60331a94f7d64e2bbc4b416a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b6bc5cbbb56340802bbc82a8ec775818ba73aa8e..ad1c9880689aa4060105b54042fac0a97e8aa665 100644 (file)
@@ -593,7 +593,7 @@ attribute.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 19b137a230ff881f2b108e0f9b4abbb20f037bb6..474eca832a9b276149805af4aa4fea9a0eb11a00 100644 (file)
@@ -431,7 +431,7 @@ nput' or local-name(.) = 'textarea')]
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0420298c851c9f37195f183516699d40a97f2eeb..523466ef5e9b618ec4b289826544181c87e589ca 100644 (file)
@@ -329,7 +329,7 @@ Mix-in for all input elements (input, select, and textarea)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 26bd0c1663f0463113d9a39913fe77a0574dc5cb..7ba9aa60a3b76147bd7c928b56e9825642ca2560 100644 (file)
@@ -364,7 +364,7 @@ can't be found.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 54211572aa843a504c777798f1141794f71a8967..80c1f1017ebe8c43229b6205e7289453790376bc 100644 (file)
@@ -389,7 +389,7 @@ to unselect the option.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2553bb9284a5b2a8dc4d02334a1807108292ffe8..38e28498cea46341c5385bfd1f5550b66aed01da 100644 (file)
@@ -412,7 +412,7 @@ unchecks any other value).
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7dd2fa2ebfdac2f82aa7af7c34416c347a8d3721..9ed532c4001059ff8d7a36b6ef6a5d652c20c28a 100644 (file)
@@ -507,7 +507,7 @@ attribute of all the <tt class="rst-docutils literal">&lt;option&gt;</tt> elemen
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cc8e7b24b1de15254f5948d69a511d311910c8d7..62e0c255cb97625d359f4b0da8152e95a236d32b 100644 (file)
@@ -373,7 +373,7 @@ get/set the value with <tt class="rst-rst-rst-rst-rst-docutils literal rst-rst-r
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0223fb2aa7113a3cb66a575ff643ca141a1075f3..b7eb2759de754a7cdd6d7892721803ce85a70f58 100644 (file)
@@ -266,7 +266,7 @@ parser like this:</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 17f909e862d844e1ce63a7920eb88c5269ea1f31..1b096c867ed8f5bfe962f6fc7711dde0a3d7badb 100644 (file)
@@ -253,7 +253,7 @@ of the resulting document.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 486e2b4950fdd66146196e27852a921a68eb50af..532111eb5fe3d6f09a214555b6ace45905842cd1 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0019df04948b2ebce072d8fdb5cbe904a0c71746..0f5c2782b6f251522efb0af05c25a97c2ffa5fe8 100644 (file)
@@ -433,7 +433,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cdfd479f0a97aec80458464bdc50d2aaffe8ef08..18453101016c5765f6256638cc2268b091f8fdc6 100644 (file)
@@ -719,7 +719,7 @@ a<code class="re-op">-</code>z0<code class="re-op">-</code>9%&amp;\?;=~<code cla
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7aefa05b250c768fd6f48bc42fe4d868f3dbe453..23a9d3bb843fbcc997d39e8ece8033377d266861 100644 (file)
@@ -1250,7 +1250,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c387f6d77dd23d7f4d93a98c81103007990f4582..e9e1b7127b3966d3494e106daf744d0f969f5fc2 100644 (file)
@@ -759,7 +759,7 @@ more sneaky attempts.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b938ed7425e679db2dd31e032824a928b35c681e..526e52ee68bb1ecd644cb71cd5f000d7e114cc29 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2e320e515a58648579a734baae6d9109bb4d8862..4a67901ac1e0e35adc11802c9fcbb65f2805b088 100644 (file)
@@ -240,7 +240,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 433b6e03a683a62dfffd78a55eeea0d12c39a32c..5a311f05499bd9268631f64a42307374d6de29c5 100644 (file)
@@ -193,7 +193,7 @@ blocks amidst large spans of changes
       <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">&lt;function default_markup at 0x2ac9b33a20c8&gt;</span>)</span><br />
+        <span class="summary-sig-arg">markup</span>=<span class="summary-sig-default">&lt;function default_markup at 0x2b9efb4670c8&gt;</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&nbsp;code</a></span>
@@ -972,7 +972,7 @@ given &lt;p&gt;Hi &lt;i&gt;there!&lt;/i&gt;&lt;/p&gt;, if you remove the &lt;i&g
   <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">&lt;function default_markup at 0x2ac9b33a20c8&gt;</span>)</span>
+        <span class="sig-arg">markup</span>=<span class="sig-default">&lt;function default_markup at 0x2b9efb4670c8&gt;</span>)</span>
   </h3>
   </td><td align="right" valign="top"
     ><span class="codelink"><a href="lxml.html.diff-pysrc.html#html_annotate">source&nbsp;code</a></span>&nbsp;
@@ -1370,7 +1370,7 @@ includes the elements tail.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 69039eda98ce9be67655e00bbebf9e893d6dbb41..79293dad7981320f2296c3cf5903c861a0daa3b0 100644 (file)
@@ -694,7 +694,7 @@ lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('li
 lxml.html.diff.token.hide_when_equal" class="py-name" href="#" onclick="return doclink('link-158', 'hide_when_equal', 'link-64');">hide_when_equal</a></tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
 <a name="L453"></a><tt class="py-lineno">453</tt>  <tt class="py-line"> </tt>
 <a name="token.__new__"></a><div id="token.__new__-def"><a name="L454"></a><tt class="py-lineno">454</tt> <a class="py-toggle" href="#" id="token.__new__-toggle" onclick="return toggle('token.__new__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.diff.token-class.html#__new__">__new__</a><tt class="py-op">(</tt><tt class="py-param">cls</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">,</tt> <tt class="py-param">pre_tags</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">post_tags</tt><tt class="py-op">=</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-param">trailing_whitespace</tt><tt class="py-op">=</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="token.__new__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="token.__new__-expanded"><a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">_unicode</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name" targets="Method lxml.etree.AncestorsIterator.__new__()=lxml.etree.AncestorsIterator-class.html#__new__,Method lxml.etree.AttributeBasedElementClassLookup.__new__()=lxml.etree.AttributeBasedElementClassLookup-class.html#__new__,Method lxml.etree.CDATA.__new__()=lxml.etree.CDATA-class.html#__new__,Method lxml.etree.CommentBase.__new__()=lxml.etree.CommentBase-class.html#__new__,Method lxml.etree.CustomElementClassLookup.__new__()=lxml.etree.CustomElementClassLookup-class.html#__new__,Method lxml.etree.DTD.__new__()=lxml.etree.DTD-class.html#__new__,Method lxml.etree.DocInfo.__new__()=lxml.etree.DocInfo-class.html#__new__,Method lxml.etree.ETCompatXMLParser.__new__()=lxml.etree.ETCompatXMLParser-class.html#__new__,Method lxml.etree.ETXPath.__new__()=lxml.etree.ETXPath-class.html#__new__,Method lxml.etree.ElementBase.__new__()=lxml.etree.ElementBase-class.html#__new__,Method lxml.etree.ElementChildIterator.__new__()=lxml.etree.ElementChildIterator-class.html#__new__,Method lxml.etree.ElementClassLookup.__new__()=lxml.etree.ElementClassLookup-class.html#__new__,Method lxml.etree.ElementDefaultClassLookup.__new__()=lxml.etree.ElementDefaultClassLookup-class.html#__new__,Method lxml.etree.ElementDepthFirstIterator.__new__()=lxml.etree.ElementDepthFirstIterator-class.html#__new__,Method lxml.etree.ElementNamespaceClassLookup.__new__()=lxml.etree.ElementNamespaceClassLookup-class.html#__new__,Method lxml.etree.ElementTextIterator.__new__()=lxml.etree.ElementTextIterator-class.html#__new__,Method lxml.etree.EntityBase.__new__()=lxml.etree.EntityBase-class.html#__new__,Method lxml.etree.FallbackElementClassLookup.__new__()=lxml.etree.FallbackElementClassLookup-class.html#__new__,Method lxml.etree.HTMLParser.__new__()=lxml.etree.HTMLParser-class.html#__new__,Method lxml.etree.HTMLPullParser.__new__()=lxml.etree.HTMLPullParser-class.html#__new__,Method lxml.etree.PIBase.__new__()=lxml.etree.PIBase-class.html#__new__,Method lxml.etree.ParserBasedElementClassLookup.__new__()=lxml.etree.ParserBasedElementClassLookup-class.html#__new__,Method lxml.etree.PyErrorLog.__new__()=lxml.etree.PyErrorLog-class.html#__new__,Method lxml.etree.PythonElementClassLookup.__new__()=lxml.etree.PythonElementClassLookup-class.html#__new__,Method lxml.etree.QName.__new__()=lxml.etree.QName-class.html#__new__,Method lxml.etree.RelaxNG.__new__()=lxml.etree.RelaxNG-class.html#__new__,Method lxml.etree.Resolver.__new__()=lxml.etree.Resolver-class.html#__new__,Method lxml.etree.Schematron.__new__()=lxml.etree.Schematron-class.html#__new__,Method lxml.etree.SiblingsIterator.__new__()=lxml.etree.SiblingsIterator-class.html#__new__,Method lxml.etree.TreeBuilder.__new__()=lxml.etree.TreeBuilder-class.html#__new__,Method lxml.etree.XInclude.__new__()=lxml.etree.XInclude-class.html#__new__,Method lxml.etree.XMLParser.__new__()=lxml.etree.XMLParser-class.html#__new__,Method lxml.etree.XMLPullParser.__new__()=lxml.etree.XMLPullParser-class.html#__new__,Method lxml.etree.XMLSchema.__new__()=lxml.etree.XMLSchema-class.html#__new__,Method lxml.etree.XPath.__new__()=lxml.etree.XPath-class.html#__new__,Method lxml.etree.XPathDocumentEvaluator.__new__()=lxml.etree.XPathDocumentEvaluator-class.html#__new__,Method lxml.etree.XPathElementEvaluator.__new__()=lxml.etree.XPathElementEvaluator-class.html#__new__,Method lxml.etree.XSLT.__new__()=lxml.etree.XSLT-class.html#__new__,Method lxml.etree.XSLTAccessControl.__new__()=lxml.etree.XSLTAccessControl-class.html#__new__,Method lxml.etree.XSLTExtension.__new__()=lxml.etree.XSLTExtension-class.html#__new__,Method lxml.etree._Attrib.__new__()=lxml.etree._Attrib-class.html#__new__,Method lxml.etree._BaseErrorLog.__new__()=lxml.etree._BaseErrorLog-class.html#__new__,Method lxml.etree._Comment.__new__()=lxml.etree._Comment-class.html#__new__,Method lxml.etree._Document.__new__()=lxml.etree._Document-class.html#__new__,Method lxml.etree._DomainErrorLog.__new__()=lxml.etree._DomainErrorLog-class.html#__new__,Method lxml.etree._Element.__new__()=lxml.etree._Element-class.html#__new__,Method lxml.etree._ElementIterator.__new__()=lxml.etree._ElementIterator-class.html#__new__,Method lxml.etree._ElementMatchIterator.__new__()=lxml.etree._ElementMatchIterator-class.html#__new__,Method lxml.etree._ElementTagMatcher.__new__()=lxml.etree._ElementTagMatcher-class.html#__new__,Method lxml.etree._ElementTree.__new__()=lxml.etree._ElementTree-class.html#__new__,Method lxml.etree._ElementUnicodeResult.__new__()=lxml.etree._ElementUnicodeResult-class.html#__new__,Method lxml.etree._Entity.__new__()=lxml.etree._Entity-class.html#__new__,Method lxml.etree._ErrorLog.__new__()=lxml.etree._ErrorLog-class.html#__new__,Method lxml.etree._FeedParser.__new__()=lxml.etree._FeedParser-class.html#__new__,Method lxml.etree._IDDict.__new__()=lxml.etree._IDDict-class.html#__new__,Method lxml.etree._ListErrorLog.__new__()=lxml.etree._ListErrorLog-class.html#__new__,Method lxml.etree._LogEntry.__new__()=lxml.etree._LogEntry-class.html#__new__,Method lxml.etree._ProcessingInstruction.__new__()=lxml.etree._ProcessingInstruction-class.html#__new__,Method lxml.etree._RotatingErrorLog.__new__()=lxml.etree._RotatingErrorLog-class.html#__new__,Method lxml.etree._SaxParserTarget.__new__()=lxml.etree._SaxParserTarget-class.html#__new__,Method lxml.etree._Validator.__new__()=lxml.etree._Validator-class.html#__new__,Method lxml.etree._XPathEvaluatorBase.__new__()=lxml.etree._XPathEvaluatorBase-class.html#__new__,Method lxml.etree._XSLTProcessingInstruction.__new__()=lxml.etree._XSLTProcessingInstruction-class.html#__new__,Method lxml.etree._XSLTResultTree.__new__()=lxml.etree._XSLTResultTree-class.html#__new__,Method lxml.etree.iterparse.__new__()=lxml.etree.iterparse-class.html#__new__,Method lxml.etree.iterwalk.__new__()=lxml.etree.iterwalk-class.html#__new__,Method lxml.etree.xmlfile.__new__()=lxml.etree.xmlfile-class.html#__new__,Static Method lxml.html.diff.tag_token.__new__()=lxml.html.diff.tag_token-class.html#__new__,Static Method lxml.html.diff.token.__new__()=lxml.html.diff.token-class.html#__new__,Method lxml.objectify.BoolElement.__new__()=lxml.objectify.BoolElement-class.html#__new__,Method lxml.objectify.ElementMaker.__new__()=lxml.objectify.ElementMaker-class.html#__new__,Method lxml.objectify.FloatElement.__new__()=lxml.objectify.FloatElement-class.html#__new__,Method lxml.objectify.IntElement.__new__()=lxml.objectify.IntElement-class.html#__new__,Method lxml.objectify.LongElement.__new__()=lxml.objectify.LongElement-class.html#__new__,Method lxml.objectify.NoneElement.__new__()=lxml.objectify.NoneElement-class.html#__new__,Method lxml.objectify.NumberElement.__new__()=lxml.objectify.NumberElement-class.html#__new__,Method lxml.objectify.ObjectPath.__new__()=lxml.objectify.ObjectPath-class.html#__new__,Method lxml.objectify.ObjectifiedDataElement.__new__()=lxml.objectify.ObjectifiedDataElement-class.html#__new__,Method lxml.objectify.ObjectifiedElement.__new__()=lxml.objectify.ObjectifiedElement-class.html#__new__,Method lxml.objectify.ObjectifyElementClassLookup.__new__()=lxml.objectify.ObjectifyElementClassLookup-class.html#__new__,Method lxml.objectify.PyType.__new__()=lxml.objectify.PyType-class.html#__new__,Method lxml.objectify.StringElement.__new__()=lxml.objectify.StringElement-class.html#__new__"><a title="lxml.etree.AncestorsIterator.__new__
+</div><div id="token.__new__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="token.__new__-expanded"><a name="L455"></a><tt class="py-lineno">455</tt>  <tt class="py-line">        <tt class="py-name">obj</tt> <tt class="py-op">=</tt> <tt class="py-name">_unicode</tt><tt class="py-op">.</tt><tt id="link-159" class="py-name" targets="Method lxml.etree.AncestorsIterator.__new__()=lxml.etree.AncestorsIterator-class.html#__new__,Method lxml.etree.AttributeBasedElementClassLookup.__new__()=lxml.etree.AttributeBasedElementClassLookup-class.html#__new__,Method lxml.etree.CDATA.__new__()=lxml.etree.CDATA-class.html#__new__,Method lxml.etree.CommentBase.__new__()=lxml.etree.CommentBase-class.html#__new__,Method lxml.etree.CustomElementClassLookup.__new__()=lxml.etree.CustomElementClassLookup-class.html#__new__,Method lxml.etree.DTD.__new__()=lxml.etree.DTD-class.html#__new__,Method lxml.etree.DocInfo.__new__()=lxml.etree.DocInfo-class.html#__new__,Method lxml.etree.ETCompatXMLParser.__new__()=lxml.etree.ETCompatXMLParser-class.html#__new__,Method lxml.etree.ETXPath.__new__()=lxml.etree.ETXPath-class.html#__new__,Method lxml.etree.ElementBase.__new__()=lxml.etree.ElementBase-class.html#__new__,Method lxml.etree.ElementChildIterator.__new__()=lxml.etree.ElementChildIterator-class.html#__new__,Method lxml.etree.ElementClassLookup.__new__()=lxml.etree.ElementClassLookup-class.html#__new__,Method lxml.etree.ElementDefaultClassLookup.__new__()=lxml.etree.ElementDefaultClassLookup-class.html#__new__,Method lxml.etree.ElementDepthFirstIterator.__new__()=lxml.etree.ElementDepthFirstIterator-class.html#__new__,Method lxml.etree.ElementNamespaceClassLookup.__new__()=lxml.etree.ElementNamespaceClassLookup-class.html#__new__,Method lxml.etree.ElementTextIterator.__new__()=lxml.etree.ElementTextIterator-class.html#__new__,Method lxml.etree.EntityBase.__new__()=lxml.etree.EntityBase-class.html#__new__,Method lxml.etree.FallbackElementClassLookup.__new__()=lxml.etree.FallbackElementClassLookup-class.html#__new__,Method lxml.etree.HTMLParser.__new__()=lxml.etree.HTMLParser-class.html#__new__,Method lxml.etree.HTMLPullParser.__new__()=lxml.etree.HTMLPullParser-class.html#__new__,Method lxml.etree.PIBase.__new__()=lxml.etree.PIBase-class.html#__new__,Method lxml.etree.ParserBasedElementClassLookup.__new__()=lxml.etree.ParserBasedElementClassLookup-class.html#__new__,Method lxml.etree.PyErrorLog.__new__()=lxml.etree.PyErrorLog-class.html#__new__,Method lxml.etree.PythonElementClassLookup.__new__()=lxml.etree.PythonElementClassLookup-class.html#__new__,Method lxml.etree.QName.__new__()=lxml.etree.QName-class.html#__new__,Method lxml.etree.RelaxNG.__new__()=lxml.etree.RelaxNG-class.html#__new__,Method lxml.etree.Resolver.__new__()=lxml.etree.Resolver-class.html#__new__,Method lxml.etree.Schematron.__new__()=lxml.etree.Schematron-class.html#__new__,Method lxml.etree.SiblingsIterator.__new__()=lxml.etree.SiblingsIterator-class.html#__new__,Method lxml.etree.TreeBuilder.__new__()=lxml.etree.TreeBuilder-class.html#__new__,Method lxml.etree.XInclude.__new__()=lxml.etree.XInclude-class.html#__new__,Method lxml.etree.XMLParser.__new__()=lxml.etree.XMLParser-class.html#__new__,Method lxml.etree.XMLPullParser.__new__()=lxml.etree.XMLPullParser-class.html#__new__,Method lxml.etree.XMLSchema.__new__()=lxml.etree.XMLSchema-class.html#__new__,Method lxml.etree.XPath.__new__()=lxml.etree.XPath-class.html#__new__,Method lxml.etree.XPathDocumentEvaluator.__new__()=lxml.etree.XPathDocumentEvaluator-class.html#__new__,Method lxml.etree.XPathElementEvaluator.__new__()=lxml.etree.XPathElementEvaluator-class.html#__new__,Method lxml.etree.XSLT.__new__()=lxml.etree.XSLT-class.html#__new__,Method lxml.etree.XSLTAccessControl.__new__()=lxml.etree.XSLTAccessControl-class.html#__new__,Method lxml.etree.XSLTExtension.__new__()=lxml.etree.XSLTExtension-class.html#__new__,Method lxml.etree._Attrib.__new__()=lxml.etree._Attrib-class.html#__new__,Method lxml.etree._BaseErrorLog.__new__()=lxml.etree._BaseErrorLog-class.html#__new__,Method lxml.etree._Comment.__new__()=lxml.etree._Comment-class.html#__new__,Method lxml.etree._Document.__new__()=lxml.etree._Document-class.html#__new__,Method lxml.etree._DomainErrorLog.__new__()=lxml.etree._DomainErrorLog-class.html#__new__,Method lxml.etree._Element.__new__()=lxml.etree._Element-class.html#__new__,Method lxml.etree._ElementIterator.__new__()=lxml.etree._ElementIterator-class.html#__new__,Method lxml.etree._ElementMatchIterator.__new__()=lxml.etree._ElementMatchIterator-class.html#__new__,Method lxml.etree._ElementTagMatcher.__new__()=lxml.etree._ElementTagMatcher-class.html#__new__,Method lxml.etree._ElementTree.__new__()=lxml.etree._ElementTree-class.html#__new__,Method lxml.etree._ElementUnicodeResult.__new__()=lxml.etree._ElementUnicodeResult-class.html#__new__,Method lxml.etree._Entity.__new__()=lxml.etree._Entity-class.html#__new__,Method lxml.etree._ErrorLog.__new__()=lxml.etree._ErrorLog-class.html#__new__,Method lxml.etree._FeedParser.__new__()=lxml.etree._FeedParser-class.html#__new__,Method lxml.etree._IDDict.__new__()=lxml.etree._IDDict-class.html#__new__,Method lxml.etree._ListErrorLog.__new__()=lxml.etree._ListErrorLog-class.html#__new__,Method lxml.etree._LogEntry.__new__()=lxml.etree._LogEntry-class.html#__new__,Method lxml.etree._ProcessingInstruction.__new__()=lxml.etree._ProcessingInstruction-class.html#__new__,Method lxml.etree._RotatingErrorLog.__new__()=lxml.etree._RotatingErrorLog-class.html#__new__,Method lxml.etree._SaxParserTarget.__new__()=lxml.etree._SaxParserTarget-class.html#__new__,Method lxml.etree._Validator.__new__()=lxml.etree._Validator-class.html#__new__,Method lxml.etree._XPathEvaluatorBase.__new__()=lxml.etree._XPathEvaluatorBase-class.html#__new__,Method lxml.etree._XSLTProcessingInstruction.__new__()=lxml.etree._XSLTProcessingInstruction-class.html#__new__,Method lxml.etree._XSLTResultTree.__new__()=lxml.etree._XSLTResultTree-class.html#__new__,Method lxml.etree.htmlfile.__new__()=lxml.etree.htmlfile-class.html#__new__,Method lxml.etree.iterparse.__new__()=lxml.etree.iterparse-class.html#__new__,Method lxml.etree.iterwalk.__new__()=lxml.etree.iterwalk-class.html#__new__,Method lxml.etree.xmlfile.__new__()=lxml.etree.xmlfile-class.html#__new__,Static Method lxml.html.diff.tag_token.__new__()=lxml.html.diff.tag_token-class.html#__new__,Static Method lxml.html.diff.token.__new__()=lxml.html.diff.token-class.html#__new__,Method lxml.objectify.BoolElement.__new__()=lxml.objectify.BoolElement-class.html#__new__,Method lxml.objectify.ElementMaker.__new__()=lxml.objectify.ElementMaker-class.html#__new__,Method lxml.objectify.FloatElement.__new__()=lxml.objectify.FloatElement-class.html#__new__,Method lxml.objectify.IntElement.__new__()=lxml.objectify.IntElement-class.html#__new__,Method lxml.objectify.LongElement.__new__()=lxml.objectify.LongElement-class.html#__new__,Method lxml.objectify.NoneElement.__new__()=lxml.objectify.NoneElement-class.html#__new__,Method lxml.objectify.NumberElement.__new__()=lxml.objectify.NumberElement-class.html#__new__,Method lxml.objectify.ObjectPath.__new__()=lxml.objectify.ObjectPath-class.html#__new__,Method lxml.objectify.ObjectifiedDataElement.__new__()=lxml.objectify.ObjectifiedDataElement-class.html#__new__,Method lxml.objectify.ObjectifiedElement.__new__()=lxml.objectify.ObjectifiedElement-class.html#__new__,Method lxml.objectify.ObjectifyElementClassLookup.__new__()=lxml.objectify.ObjectifyElementClassLookup-class.html#__new__,Method lxml.objectify.PyType.__new__()=lxml.objectify.PyType-class.html#__new__,Method lxml.objectify.StringElement.__new__()=lxml.objectify.StringElement-class.html#__new__"><a title="lxml.etree.AncestorsIterator.__new__
 lxml.etree.AttributeBasedElementClassLookup.__new__
 lxml.etree.CDATA.__new__
 lxml.etree.CommentBase.__new__
@@ -758,6 +758,7 @@ lxml.etree._Validator.__new__
 lxml.etree._XPathEvaluatorBase.__new__
 lxml.etree._XSLTProcessingInstruction.__new__
 lxml.etree._XSLTResultTree.__new__
+lxml.etree.htmlfile.__new__
 lxml.etree.iterparse.__new__
 lxml.etree.iterwalk.__new__
 lxml.etree.xmlfile.__new__
@@ -900,6 +901,7 @@ lxml.etree._Validator.__new__
 lxml.etree._XPathEvaluatorBase.__new__
 lxml.etree._XSLTProcessingInstruction.__new__
 lxml.etree._XSLTResultTree.__new__
+lxml.etree.htmlfile.__new__
 lxml.etree.iterparse.__new__
 lxml.etree.iterwalk.__new__
 lxml.etree.xmlfile.__new__
@@ -1737,7 +1739,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 74afc71a842318fcb28ece41e0bac5601e36e3f1..5cb6dd6f4831c881361dc5fd1215695a42b10fb9 100644 (file)
@@ -94,7 +94,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7f489c545f46a10f6403abe374aede40d414b7f9..2bb3a88e2dead0696b9357d5104ebcebfa022289 100644 (file)
@@ -94,7 +94,7 @@
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index adfec69cf80cf63b42ffb4bed5c87e94971f5c8e..5f6e212a0014331261327a8ee5b7f7b668ebd8fb 100644 (file)
@@ -235,7 +235,7 @@ triple with n==0.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ea3dd5d85dd498be8b5d0a70f0e200ce06361557..9a62aca3abc90e4e8005114eb59e795776c60227 100644 (file)
@@ -182,7 +182,7 @@ Raised when the document no longer contains any pending deletes
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5316f5a9d4003f2fb8dffc6bd7951a4bd9b2058c..9e6532ffc609389f8d15d5b8f9a83173b996f243 100644 (file)
@@ -342,7 +342,7 @@ show the href when it changes.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 52044ac93eae97b643ff00ead9ad851ccdb94f1c..66888fc04716601450becc4371221d3af78e5681 100644 (file)
@@ -427,7 +427,7 @@ is only represented in a document by a tag.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9eb21e3804a5d5444c8ef1aeb1202a7b39602393..3f88213258e0ce70a789dc75e1c65d6a42cb2964 100644 (file)
@@ -412,7 +412,7 @@ space.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 247511966e29ba132feb0c67e1bbcc296bd33763..d0a19aae0038fad1994b64d2038302f99aec3f08 100644 (file)
@@ -546,7 +546,7 @@ escendant-or-self::x:textarea
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0d021c348a719af02aad4452499771dff6edb155..2a407db66dad208f81dfa263e351279ce55082b8 100644 (file)
@@ -779,7 +779,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f885dd91f3d4c6c1db94ef8458e62fc22ae08656..3ce6a1f53e7529c8e769240b66291afa271e9622 100644 (file)
@@ -303,7 +303,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index be2b7b8b16a512167c7c2b7e2b12ec1ce35368db..d157921258cb7fac944ba7814f836f6a0a5c9bcb 100644 (file)
@@ -185,7 +185,7 @@ Raised when no form can be found
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6c01c146cb56a903d72d8f200f75745187aac101..4d5448a1eb273fb5f2517164da8272d8bdf99765 100644 (file)
@@ -418,7 +418,7 @@ is a fragment or a document.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2bce8ecc70d6b27f51f1812440b2c963f374c749..ec52b0c89732e95cbba76db39381ea54b6ff02a0 100644 (file)
@@ -114,7 +114,7 @@ lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick
 </div><div id="HTMLParser-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HTMLParser-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-docstring">"""An html5lib HTML parser with lxml as tree."""</tt> </tt>
 <a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
 <a name="HTMLParser.__init__"></a><div id="HTMLParser.__init__-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="HTMLParser.__init__-toggle" onclick="return toggle('HTMLParser.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.html.html5parser.HTMLParser-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">strict</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="HTMLParser.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HTMLParser.__init__-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">_HTMLParser</tt><tt class="py-op">.</tt><tt id="link-12" 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.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.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.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__
+</div><div id="HTMLParser.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HTMLParser.__init__-expanded"><a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">        <tt class="py-name">_HTMLParser</tt><tt class="py-op">.</tt><tt id="link-12" 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.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.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__
@@ -153,6 +153,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -235,6 +236,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -592,7 +594,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c4ad9cec217fdfad9e34f0802aba8b0a5c1b8986..3b56cbd2a846a84f95270b7dbc11b41f9f85fa73 100644 (file)
@@ -256,7 +256,7 @@ text</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5a48ac800a3cf72bf8c2e37149dc7eed3dbad71c..5711e7f64128764cc084e02f2ca887e6547348c1 100644 (file)
@@ -139,7 +139,7 @@ An html5lib XHTML Parser with lxml as tree.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c4e8c2fa6af76d456c468f750c9dc5f9fb69f8bb..d7f9ccfbf9e240c35708dae6233af7b55c8b6dbf 100644 (file)
@@ -449,7 +449,7 @@ keyword.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0c238627f43dbae83952a92a3b22f27249d72629..b3802e21a28f61037f629ccaee915e4d91a6a9ad 100644 (file)
@@ -322,7 +322,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index de012497a03b30474e35966cada173ed479e6c4f..e24df7134376bb471f74c335d0ff456d2556c9ac 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a3c59477965b8650c81b4a441c581e5a27836735..1c1b3a263fdc05511f1dd9c1f157245ad2054e44 100644 (file)
@@ -116,7 +116,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 253c4ad1f8f7d60edbd1e4ec319f08e5db531a4a..62ea4c6a2f3ae4570fddc9021395fa06b56678c2 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c7eda03db63586b27b636da87a2fb5e179d91b97..7fdd7db84513e2e385b63859572bfb09fff7bdaa 100644 (file)
@@ -100,7 +100,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 807583325e970f24334a5d59cd37583ce8a2ea3c..a196a97e2822a82556de76e49fcd89d682777814 100644 (file)
@@ -533,7 +533,7 @@ chematron.rng')))
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7198c92f2d54b2df82f9badf6bbd194445469a00..3dc5d896a3e81d2d281a6ee916c8fe3b330a2651 100644 (file)
@@ -347,7 +347,7 @@ lxml.isoschematron.Schematron._include" class="py-name" href="#" onclick="return
 <a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                 <tt class="py-param">store_schematron</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">store_xslt</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> <tt class="py-param">store_report</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">,</tt> </tt>
 <a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                 <tt class="py-param">phase</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="Schematron.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="Schematron.__init__-expanded"><a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-94" class="py-name" targets="Class lxml.etree.Schematron=lxml.etree.Schematron-class.html,Class lxml.isoschematron.Schematron=lxml.isoschematron.Schematron-class.html"><a title="lxml.etree.Schematron
-lxml.isoschematron.Schematron" class="py-name" href="#" onclick="return doclink('link-94', 'Schematron', 'link-94');">Schematron</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-95" 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.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.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.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.isoschematron.Schematron" class="py-name" href="#" onclick="return doclink('link-94', 'Schematron', 'link-94');">Schematron</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-95" 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.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.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__
@@ -386,6 +386,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -609,7 +610,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f074ad71768f3496caef9403d731f973399364f0..e8fe734cc5fbe925b4624fdf9969033295546703 100644 (file)
@@ -685,7 +685,7 @@ been turned off).
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1dcfd320f606f1c040cd512eccfa9cb6cdc42c66..8ee148b36274673f409bd3021349e598a4c2a435 100644 (file)
@@ -66,7 +66,7 @@ XML.  It is based on <a href="lxml.etree-module.html" class="link">lxml.etree</a
 
 <hr />
 <div class="fields">      <p><strong>Version:</strong>
-        2.3.6
+        3.4.1
       </p>
 </div><!-- ==================== CLASSES ==================== -->
 <a name="section-Classes"></a>
@@ -629,7 +629,7 @@ attributes.</td>
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a name="E"></a><span class="summary-name">E</span> = <code title="&lt;lxml.objectify.ElementMaker object at 0x2ac9b2052b30&gt;">&lt;lxml.objectify.ElementMaker object at 0x2ac9b2052b30&gt;</code>
+        <a name="E"></a><span class="summary-name">E</span> = <code title="&lt;lxml.objectify.ElementMaker object at 0x2b9efa116b30&gt;">&lt;lxml.objectify.ElementMaker object at 0x2b9efa116b30&gt;</code>
     </td>
   </tr>
 <tr>
@@ -1136,7 +1136,7 @@ elements.  Pass 'string', for example, to make string values the default.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 08aaf1ac59bfa056fa652a5cdd83f099f599aa56..a3ee3564950de4f8e22d193d1d199371f39ac9e1 100644 (file)
@@ -801,7 +801,7 @@ this if they recursively call _init() in the superclasses.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7d654920397ace22624408f4a8c32392b58f8460..1af5edba11c3fb1136eff88e59f5ca2a319efd9a 100644 (file)
@@ -365,7 +365,7 @@ some text
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0457ba547945ce0de2f5a841149c77d92dba3b5a..55b6837b3c9a831310b31213123822551f856dea 100644 (file)
@@ -390,7 +390,7 @@ this if they recursively call _init() in the superclasses.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 17353891d83852800e8ddd40f8d03d874731aeed..3fe5112587b1640e8cf374fa5184b14d38ef2d64 100644 (file)
@@ -396,7 +396,7 @@ this if they recursively call _init() in the superclasses.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3e30dedde7fd51dc0d7029f1d48590c3a664816d..2f79be2365fd03b307cc8500509ca610eb0f3a54 100644 (file)
@@ -390,7 +390,7 @@ this if they recursively call _init() in the superclasses.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 084ad70e55d2ec7d13458a7ba524cf71e4846e31..f95de0f31257425e2d7db247150e7f5d646b3fd1 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 859a2e41f0f6c3313c55cb48642fd5f0dfaff674..6ba445407d6506f9692c8393fdd03f66998a619f 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index db43cc90db04435fb56e4f207867f6425e60de26..6eff53703bd6c5138243fa3a09593ce0ef4f699b 100644 (file)
@@ -452,7 +452,7 @@ as second argument) or raises AttributeError.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3af5ce2af387af7054f958d6ed32fb92e2da29f9..cbd03852f9d896592cced39feb91f6668dccad4c 100644 (file)
@@ -408,7 +408,7 @@ doing.</td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2e39f24a808d6f0472aefe323d5d46f812825861..716b4f0f13b57889f66ae6b3643fbb5a60cf8453 100644 (file)
@@ -859,7 +859,7 @@ returned in document order.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6d43137e9cd91c097c847413febfd488b0c632a6..f1ae512131d6fef32fc128cc83c874a54f3a8536 100644 (file)
@@ -276,7 +276,7 @@ empty data elements (defauls to StringElement).</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 77f8f381e96d1386fae03529361741a363daec8c..d866f1eba9b05aa74dc0b0c166c5cf900d15fa4b 100644 (file)
@@ -443,7 +443,7 @@ ignored.  Raises ValueError if the dependencies cannot be fulfilled.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ef519256a55587aa08d3e1602997fd08ec32c068..23116e0decfadb989c4d8b8f0914f7bd642a59d5 100644 (file)
@@ -731,7 +731,7 @@ Instead, use the .text attribute to get a 'real' string.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b32f19484977aba95ed00e61545ae740a7df02f9..d40f5a3f7ee1b5d55b92288b2cc7ee6f5a54d6f2 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2215af884a6e34068752d0cd9fcc635b290d495e..b0955e1e38f27fae584b4a590f67938caf8a2107 100644 (file)
@@ -107,7 +107,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7ef3f3d49de67692d7bb0f02c51b53efea96f386..27ed6e2926b2d19eb4e26f214756fef576f8a3c2 100644 (file)
@@ -219,7 +219,7 @@ them against a SAX ContentHandler.</td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d215c333980a381d461f27fb0396758069932686..057eb2a00a420de2921b2b2dd79ff1c8d1036e46 100644 (file)
@@ -126,339 +126,409 @@ xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return docl
 </div><div id="ElementTreeContentHandler-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ElementTreeContentHandler-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-docstring">"""Build an lxml ElementTree from SAX events.</tt> </tt>
 <a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
 <a name="ElementTreeContentHandler.__init__"></a><div id="ElementTreeContentHandler.__init__-def"><a name="L33"></a><tt class="py-lineno"> 33</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.__init__-toggle" onclick="return toggle('ElementTreeContentHandler.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">makeelement</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="ElementTreeContentHandler.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.__init__-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-name">None</tt> <tt class="py-op">:</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="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-14" 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"><a title="lxml.etree._Element.makeelement
-lxml.etree.iterparse.makeelement" class="py-name" href="#" onclick="return doclink('link-14', 'makeelement', 'link-14');">makeelement</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt id="link-15" class="py-name"><a title="lxml.etree._Element.makeelement
-lxml.etree.iterparse.makeelement" class="py-name" href="#" onclick="return doclink('link-15', 'makeelement', 'link-14');">makeelement</a></tt> <tt class="py-op">=</tt> <tt id="link-16" class="py-name"><a title="lxml.etree
+</div><div id="ElementTreeContentHandler.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.__init__-expanded"><a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">ContentHandler</tt><tt class="py-op">.</tt><tt id="link-14" 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.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.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.etree.CommentBase.__init__
+lxml.etree.DTD.__init__
+lxml.etree.ETCompatXMLParser.__init__
+lxml.etree.ETXPath.__init__
+lxml.etree.ElementBase.__init__
+lxml.etree.ElementDefaultClassLookup.__init__
+lxml.etree.ElementNamespaceClassLookup.__init__
+lxml.etree.EntityBase.__init__
+lxml.etree.FallbackElementClassLookup.__init__
+lxml.etree.HTMLParser.__init__
+lxml.etree.HTMLPullParser.__init__
+lxml.etree.LxmlError.__init__
+lxml.etree.PIBase.__init__
+lxml.etree.ParseError.__init__
+lxml.etree.PyErrorLog.__init__
+lxml.etree.QName.__init__
+lxml.etree.RelaxNG.__init__
+lxml.etree.Schematron.__init__
+lxml.etree.TreeBuilder.__init__
+lxml.etree.XInclude.__init__
+lxml.etree.XMLParser.__init__
+lxml.etree.XMLPullParser.__init__
+lxml.etree.XMLSchema.__init__
+lxml.etree.XPath.__init__
+lxml.etree.XPathDocumentEvaluator.__init__
+lxml.etree.XPathElementEvaluator.__init__
+lxml.etree.XSLT.__init__
+lxml.etree.XSLTAccessControl.__init__
+lxml.etree._BaseErrorLog.__init__
+lxml.etree._DomainErrorLog.__init__
+lxml.etree._ErrorLog.__init__
+lxml.etree._ListErrorLog.__init__
+lxml.etree._RotatingErrorLog.__init__
+lxml.etree._TargetParserResult.__init__
+lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
+lxml.etree.iterparse.__init__
+lxml.etree.iterwalk.__init__
+lxml.etree.xmlfile.__init__
+lxml.html.CheckboxValues.__init__
+lxml.html.FieldsDict.__init__
+lxml.html.HTMLParser.__init__
+lxml.html.HtmlElementClassLookup.__init__
+lxml.html.InputGetter.__init__
+lxml.html.MultipleSelectOptions.__init__
+lxml.html.XHTMLParser.__init__
+lxml.html._MethodFunc.__init__
+lxml.html.clean.Cleaner.__init__
+lxml.html.formfill.DefaultErrorCreator.__init__
+lxml.html.html5parser.HTMLParser.__init__
+lxml.html.html5parser.XHTMLParser.__init__
+lxml.isoschematron.Schematron.__init__
+lxml.objectify.ElementMaker.__init__
+lxml.objectify.ObjectPath.__init__
+lxml.objectify.ObjectifyElementClassLookup.__init__
+lxml.objectify.PyType.__init__
+lxml.sax.ElementTreeContentHandler.__init__
+lxml.sax.ElementTreeProducer.__init__
+lxml.tests.common_imports.LargeFileLike.__init__
+lxml.tests.common_imports.LargeFileLikeUnicode.__init__
+lxml.tests.common_imports.SillyFileLike.__init__
+lxml.tests.dummy_http_server.HTTPRequestCollector.__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-14', '__init__', 'link-14');">__init__</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> <tt class="py-name">None</tt> <tt class="py-op">:</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="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-15" 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"><a title="lxml.etree._Element.makeelement
+lxml.etree.iterparse.makeelement" class="py-name" href="#" onclick="return doclink('link-15', 'makeelement', 'link-15');">makeelement</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">            <tt id="link-16" class="py-name"><a title="lxml.etree._Element.makeelement
+lxml.etree.iterparse.makeelement" class="py-name" href="#" onclick="return doclink('link-16', 'makeelement', 'link-15');">makeelement</a></tt> <tt class="py-op">=</tt> <tt id="link-17" 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-16', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-17" 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-17', 'etree', 'link-3');">etree</a></tt><tt class="py-op">.</tt><tt id="link-18" 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-17', 'Element', 'link-17');">Element</a></tt> </tt>
-<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_makeelement</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="lxml.etree._Element.makeelement
-lxml.etree.iterparse.makeelement" class="py-name" href="#" onclick="return doclink('link-18', 'makeelement', 'link-14');">makeelement</a></tt> </tt>
-</div><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler._get_etree"></a><div id="ElementTreeContentHandler._get_etree-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler._get_etree-toggle" onclick="return toggle('ElementTreeContentHandler._get_etree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#_get_etree">_get_etree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler._get_etree-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler._get_etree-expanded"><a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-docstring">"Contains the generated ElementTree after parsing is finished."</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-19" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-18', 'Element', 'link-18');">Element</a></tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_makeelement</tt> <tt class="py-op">=</tt> <tt id="link-19" class="py-name"><a title="lxml.etree._Element.makeelement
+lxml.etree.iterparse.makeelement" class="py-name" href="#" onclick="return doclink('link-19', 'makeelement', 'link-15');">makeelement</a></tt> </tt>
+</div><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler._get_etree"></a><div id="ElementTreeContentHandler._get_etree-def"><a name="L45"></a><tt class="py-lineno"> 45</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler._get_etree-toggle" onclick="return toggle('ElementTreeContentHandler._get_etree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#_get_etree">_get_etree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler._get_etree-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler._get_etree-expanded"><a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-docstring">"Contains the generated ElementTree after parsing is finished."</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-20" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-19', 'ElementTree', 'link-6');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"> </tt>
-<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt id="link-20" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-20', 'ElementTree', 'link-6');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    <tt id="link-21" 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-20', 'etree', 'link-3');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler._get_etree()=lxml.sax.ElementTreeContentHandler-class.html#_get_etree"><a title="lxml.sax.ElementTreeContentHandler._get_etree" class="py-name" href="#" onclick="return doclink('link-21', '_get_etree', 'link-21');">_get_etree</a></tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">=</tt><tt id="link-22" class="py-name"><a title="lxml.sax.ElementTreeContentHandler._get_etree" class="py-name" href="#" onclick="return doclink('link-22', '_get_etree', 'link-21');">_get_etree</a></tt><tt class="py-op">.</tt><tt id="link-23" class="py-name" targets="Variable lxml.html.ElementSoup.__doc__=lxml.html.ElementSoup-module.html#__doc__,Variable lxml.html.soupparser.__doc__=lxml.html.soupparser-module.html#__doc__"><a title="lxml.html.ElementSoup.__doc__
-lxml.html.soupparser.__doc__" class="py-name" href="#" onclick="return doclink('link-23', '__doc__', 'link-23');">__doc__</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.setDocumentLocator"></a><div id="ElementTreeContentHandler.setDocumentLocator-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.setDocumentLocator-toggle" onclick="return toggle('ElementTreeContentHandler.setDocumentLocator');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#setDocumentLocator">setDocumentLocator</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">locator</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.setDocumentLocator-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.setDocumentLocator-expanded"><a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.startDocument"></a><div id="ElementTreeContentHandler.startDocument-def"><a name="L53"></a><tt class="py-lineno"> 53</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startDocument-toggle" onclick="return toggle('ElementTreeContentHandler.startDocument');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startDocument">startDocument</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.startDocument-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startDocument-expanded"><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.endDocument"></a><div id="ElementTreeContentHandler.endDocument-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endDocument-toggle" onclick="return toggle('ElementTreeContentHandler.endDocument');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endDocument">endDocument</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.endDocument-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endDocument-expanded"><a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.startPrefixMapping"></a><div id="ElementTreeContentHandler.startPrefixMapping-def"><a name="L59"></a><tt class="py-lineno"> 59</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startPrefixMapping-toggle" onclick="return toggle('ElementTreeContentHandler.startPrefixMapping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping">startPrefixMapping</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.startPrefixMapping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startPrefixMapping-expanded"><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">[</tt><tt id="link-24" class="py-name" targets="Variable lxml.etree._Element.prefix=lxml.etree._Element-class.html#prefix"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-24', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name" targets="Variable lxml.tests.test_xpathevaluator.uri=lxml.tests.test_xpathevaluator-module.html#uri"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-25', 'uri', 'link-25');">uri</a></tt> </tt>
-<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt><tt class="py-op">[</tt><tt id="link-26" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-26', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-27" 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-27', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt id="link-28" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-28', 'uri', 'link-25');">uri</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt><tt class="py-op">[</tt><tt id="link-29" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-29', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-30" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-30', 'uri', 'link-25');">uri</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-31" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-31', 'prefix', 'link-24');">prefix</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </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">_default_ns</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-32', 'uri', 'link-25');">uri</a></tt> </tt>
-</div><a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.endPrefixMapping"></a><div id="ElementTreeContentHandler.endPrefixMapping-def"><a name="L68"></a><tt class="py-lineno"> 68</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endPrefixMapping-toggle" onclick="return toggle('ElementTreeContentHandler.endPrefixMapping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endPrefixMapping">endPrefixMapping</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.endPrefixMapping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endPrefixMapping-expanded"><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">        <tt class="py-name">ns_uri_list</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt><tt class="py-op">[</tt><tt id="link-33" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-33', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">]</tt> </tt>
-<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">ns_uri_list</tt><tt class="py-op">.</tt><tt id="link-34" 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-34', 'pop', 'link-34');">pop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-35" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-35', 'prefix', 'link-24');">prefix</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt> <tt class="py-op">=</tt> <tt class="py-name">ns_uri_list</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="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler._buildTag"></a><div id="ElementTreeContentHandler._buildTag-def"><a name="L74"></a><tt class="py-lineno"> 74</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler._buildTag-toggle" onclick="return toggle('ElementTreeContentHandler._buildTag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#_buildTag">_buildTag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_name_tuple</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler._buildTag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler._buildTag-expanded"><a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt> <tt class="py-op">=</tt> <tt class="py-name">ns_name_tuple</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ns_uri</tt><tt class="py-op">:</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">            <tt class="py-name">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-string">"{%s}%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_name_tuple</tt> </tt>
-<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</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">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-string">"{%s}%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">        <tt class="py-keyword">else</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">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">local_name</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">el_tag</tt> </tt>
-</div><a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.startElementNS"></a><div id="ElementTreeContentHandler.startElementNS-def"><a name="L84"></a><tt class="py-lineno"> 84</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startElementNS-toggle" onclick="return toggle('ElementTreeContentHandler.startElementNS');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startElementNS">startElementNS</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_name</tt><tt class="py-op">,</tt> <tt class="py-param">qname</tt><tt class="py-op">,</tt> <tt class="py-param">attributes</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="ElementTreeContentHandler.startElementNS-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startElementNS-expanded"><a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        <tt class="py-name">el_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-36" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler._buildTag()=lxml.sax.ElementTreeContentHandler-class.html#_buildTag"><a title="lxml.sax.ElementTreeContentHandler._buildTag" class="py-name" href="#" onclick="return doclink('link-36', '_buildTag', 'link-36');">_buildTag</a></tt><tt class="py-op">(</tt><tt class="py-name">ns_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attributes</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">attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-keyword">try</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">iter_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method lxml.etree._Attrib.iteritems()=lxml.etree._Attrib-class.html#iteritems,Method lxml.etree._IDDict.iteritems()=lxml.etree._IDDict-class.html#iteritems"><a title="lxml.etree._Attrib.iteritems
-lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-37', 'iteritems', 'link-37');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">                <tt class="py-name">iter_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-38" 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.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-21', 'etree', 'link-3');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">property</tt><tt class="py-op">(</tt><tt id="link-22" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler._get_etree()=lxml.sax.ElementTreeContentHandler-class.html#_get_etree"><a title="lxml.sax.ElementTreeContentHandler._get_etree" class="py-name" href="#" onclick="return doclink('link-22', '_get_etree', 'link-22');">_get_etree</a></tt><tt class="py-op">,</tt> <tt class="py-name">doc</tt><tt class="py-op">=</tt><tt id="link-23" class="py-name"><a title="lxml.sax.ElementTreeContentHandler._get_etree" class="py-name" href="#" onclick="return doclink('link-23', '_get_etree', 'link-22');">_get_etree</a></tt><tt class="py-op">.</tt><tt id="link-24" class="py-name" targets="Variable lxml.html.ElementSoup.__doc__=lxml.html.ElementSoup-module.html#__doc__,Variable lxml.html.soupparser.__doc__=lxml.html.soupparser-module.html#__doc__"><a title="lxml.html.ElementSoup.__doc__
+lxml.html.soupparser.__doc__" class="py-name" href="#" onclick="return doclink('link-24', '__doc__', 'link-24');">__doc__</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.setDocumentLocator"></a><div id="ElementTreeContentHandler.setDocumentLocator-def"><a name="L51"></a><tt class="py-lineno"> 51</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.setDocumentLocator-toggle" onclick="return toggle('ElementTreeContentHandler.setDocumentLocator');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#setDocumentLocator">setDocumentLocator</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">locator</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.setDocumentLocator-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.setDocumentLocator-expanded"><a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.startDocument"></a><div id="ElementTreeContentHandler.startDocument-def"><a name="L54"></a><tt class="py-lineno"> 54</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startDocument-toggle" onclick="return toggle('ElementTreeContentHandler.startDocument');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startDocument">startDocument</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.startDocument-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startDocument-expanded"><a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.endDocument"></a><div id="ElementTreeContentHandler.endDocument-def"><a name="L57"></a><tt class="py-lineno"> 57</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endDocument-toggle" onclick="return toggle('ElementTreeContentHandler.endDocument');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endDocument">endDocument</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.endDocument-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endDocument-expanded"><a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.startPrefixMapping"></a><div id="ElementTreeContentHandler.startPrefixMapping-def"><a name="L60"></a><tt class="py-lineno"> 60</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startPrefixMapping-toggle" onclick="return toggle('ElementTreeContentHandler.startPrefixMapping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping">startPrefixMapping</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">,</tt> <tt class="py-param">uri</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.startPrefixMapping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startPrefixMapping-expanded"><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">[</tt><tt id="link-25" class="py-name" targets="Variable lxml.etree._Element.prefix=lxml.etree._Element-class.html#prefix"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-25', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name" targets="Variable lxml.tests.test_xpathevaluator.uri=lxml.tests.test_xpathevaluator-module.html#uri"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-26', 'uri', 'link-26');">uri</a></tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </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">_ns_mapping</tt><tt class="py-op">[</tt><tt id="link-27" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-27', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-28" 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-28', 'append', 'link-28');">append</a></tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-29', 'uri', 'link-26');">uri</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt><tt class="py-op">[</tt><tt id="link-30" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-30', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt id="link-31" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-31', 'uri', 'link-26');">uri</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-32" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-32', 'prefix', 'link-25');">prefix</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-33', 'uri', 'link-26');">uri</a></tt> </tt>
+</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.endPrefixMapping"></a><div id="ElementTreeContentHandler.endPrefixMapping-def"><a name="L69"></a><tt class="py-lineno"> 69</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endPrefixMapping-toggle" onclick="return toggle('ElementTreeContentHandler.endPrefixMapping');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endPrefixMapping">endPrefixMapping</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">prefix</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.endPrefixMapping-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endPrefixMapping-expanded"><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">ns_uri_list</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_ns_mapping</tt><tt class="py-op">[</tt><tt id="link-34" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-34', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">]</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">ns_uri_list</tt><tt class="py-op">.</tt><tt id="link-35" 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-35', 'pop', 'link-35');">pop</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-36" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-36', 'prefix', 'link-25');">prefix</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt> <tt class="py-op">=</tt> <tt class="py-name">ns_uri_list</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="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler._buildTag"></a><div id="ElementTreeContentHandler._buildTag-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler._buildTag-toggle" onclick="return toggle('ElementTreeContentHandler._buildTag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#_buildTag">_buildTag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_name_tuple</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler._buildTag-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler._buildTag-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt> <tt class="py-op">=</tt> <tt class="py-name">ns_name_tuple</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ns_uri</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">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-string">"{%s}%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_name_tuple</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt><tt class="py-op">:</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">            <tt class="py-name">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-string">"{%s}%s"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_default_ns</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">        <tt class="py-keyword">else</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">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">local_name</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">el_tag</tt> </tt>
+</div><a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.startElementNS"></a><div id="ElementTreeContentHandler.startElementNS-def"><a name="L85"></a><tt class="py-lineno"> 85</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startElementNS-toggle" onclick="return toggle('ElementTreeContentHandler.startElementNS');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startElementNS">startElementNS</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_name</tt><tt class="py-op">,</tt> <tt class="py-param">qname</tt><tt class="py-op">,</tt> <tt class="py-param">attributes</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="ElementTreeContentHandler.startElementNS-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startElementNS-expanded"><a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">el_name</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler._buildTag()=lxml.sax.ElementTreeContentHandler-class.html#_buildTag"><a title="lxml.sax.ElementTreeContentHandler._buildTag" class="py-name" href="#" onclick="return doclink('link-37', '_buildTag', 'link-37');">_buildTag</a></tt><tt class="py-op">(</tt><tt class="py-name">ns_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">            <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">            <tt class="py-keyword">try</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">iter_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-38" class="py-name" targets="Method lxml.etree._Attrib.iteritems()=lxml.etree._Attrib-class.html#iteritems,Method lxml.etree._IDDict.iteritems()=lxml.etree._IDDict-class.html#iteritems"><a title="lxml.etree._Attrib.iteritems
+lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-38', 'iteritems', 'link-38');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                <tt class="py-name">iter_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-39" 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-38', 'items', 'link-38');">items</a></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-keyword">for</tt> <tt class="py-name">name_tuple</tt><tt class="py-op">,</tt> <tt id="link-39" 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.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-39', 'items', 'link-39');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line"> </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">name_tuple</tt><tt class="py-op">,</tt> <tt id="link-40" 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-39', 'value', 'link-39');">value</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">iter_attributes</tt><tt class="py-op">:</tt> </tt>
-<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">name_tuple</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="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                    <tt class="py-name">attr_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"{%s}%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">name_tuple</tt> </tt>
-<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                <tt class="py-keyword">else</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">attr_name</tt> <tt class="py-op">=</tt> <tt class="py-name">name_tuple</tt><tt class="py-op">[</tt><tt class="py-number">1</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">attrs</tt><tt class="py-op">[</tt><tt class="py-name">attr_name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-40" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-40', 'value', 'link-40');">value</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">iter_attributes</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">name_tuple</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="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                    <tt class="py-name">attr_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"{%s}%s"</tt> <tt class="py-op">%</tt> <tt class="py-name">name_tuple</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-keyword">else</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">attr_name</tt> <tt class="py-op">=</tt> <tt class="py-name">name_tuple</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                <tt class="py-name">attrs</tt><tt class="py-op">[</tt><tt class="py-name">attr_name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-41" 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-40', 'value', 'link-39');">value</a></tt> </tt>
-<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"> </tt>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">element_stack</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</tt> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-op">=</tt> \ </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_makeelement</tt><tt class="py-op">(</tt><tt class="py-name">el_name</tt><tt class="py-op">,</tt> <tt class="py-name">attrs</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt> <tt class="py-keyword">and</tt> <tt id="link-41" 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-41', 'hasattr', 'link-41');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-string">'addprevious'</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 class="py-keyword">for</tt> <tt class="py-name">sibling</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt><tt class="py-op">:</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                    <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-42" class="py-name" targets="Method lxml.etree._Element.addprevious()=lxml.etree._Element-class.html#addprevious"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-42', 'addprevious', 'link-42');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">)</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
-<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt id="link-43" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-43', 'SubElement', 'link-7');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">element_stack</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-name">el_name</tt><tt class="py-op">,</tt> </tt>
-<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                                 <tt class="py-name">attrs</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">element_stack</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-44', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">)</tt> </tt>
-<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"> </tt>
-<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name" targets="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._Attrib.clear
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-41', 'value', 'link-40');">value</a></tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">            <tt class="py-name">attrs</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">element_stack</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-op">=</tt> \ </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                      <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_makeelement</tt><tt class="py-op">(</tt><tt class="py-name">el_name</tt><tt class="py-op">,</tt> <tt class="py-name">attrs</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt> <tt class="py-keyword">and</tt> <tt id="link-42" 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-42', 'hasattr', 'link-42');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-string">'addprevious'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">sibling</tt> <tt class="py-keyword">in</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt><tt class="py-op">:</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                    <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name" targets="Method lxml.etree._Element.addprevious()=lxml.etree._Element-class.html#addprevious"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-43', 'addprevious', 'link-43');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">)</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">            <tt class="py-keyword">del</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt id="link-44" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-44', 'SubElement', 'link-7');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">element_stack</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-name">el_name</tt><tt class="py-op">,</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                                 <tt class="py-name">attrs</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</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">element_stack</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-45', 'append', 'link-28');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">element</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">self</tt><tt class="py-op">.</tt><tt class="py-name">_new_mappings</tt><tt class="py-op">.</tt><tt id="link-46" class="py-name" targets="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._Attrib.clear
 lxml.etree._Element.clear
-lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-45', 'clear', 'link-45');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.processingInstruction"></a><div id="ElementTreeContentHandler.processingInstruction-def"><a name="L117"></a><tt class="py-lineno">117</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.processingInstruction-toggle" onclick="return toggle('ElementTreeContentHandler.processingInstruction');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#processingInstruction">processingInstruction</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.processingInstruction-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.processingInstruction-expanded"><a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt id="link-46" 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-46', 'pi', 'link-46');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">(</tt><tt id="link-47" class="py-name" targets="Variable lxml.etree._ProcessingInstruction.target=lxml.etree._ProcessingInstruction-class.html#target"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-47', 'target', 'link-47');">target</a></tt><tt class="py-op">,</tt> <tt id="link-48" class="py-name" targets="Method lxml.etree.TreeBuilder.data()=lxml.etree.TreeBuilder-class.html#data"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-48', 'data', 'link-48');">data</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</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">_root_siblings</tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-49', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt id="link-50" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-50', 'pi', 'link-46');">pi</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</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-51" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-51', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt id="link-52" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-52', 'pi', 'link-46');">pi</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.endElementNS"></a><div id="ElementTreeContentHandler.endElementNS-def"><a name="L124"></a><tt class="py-lineno">124</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endElementNS-toggle" onclick="return toggle('ElementTreeContentHandler.endElementNS');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endElementNS">endElementNS</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_name</tt><tt class="py-op">,</tt> <tt class="py-param">qname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.endElementNS-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endElementNS-expanded"><a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</tt><tt class="py-op">.</tt><tt id="link-53" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-53', 'pop', 'link-34');">pop</a></tt><tt class="py-op">(</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">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="lxml.sax.ElementTreeContentHandler._buildTag" class="py-name" href="#" onclick="return doclink('link-54', '_buildTag', 'link-36');">_buildTag</a></tt><tt class="py-op">(</tt><tt class="py-name">ns_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">el_tag</tt> <tt class="py-op">!=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.etree._ErrorLog.clear" class="py-name" href="#" onclick="return doclink('link-46', 'clear', 'link-46');">clear</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.processingInstruction"></a><div id="ElementTreeContentHandler.processingInstruction-def"><a name="L118"></a><tt class="py-lineno">118</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.processingInstruction-toggle" onclick="return toggle('ElementTreeContentHandler.processingInstruction');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#processingInstruction">processingInstruction</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.processingInstruction-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.processingInstruction-expanded"><a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt id="link-47" 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-47', 'pi', 'link-47');">pi</a></tt> <tt class="py-op">=</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">(</tt><tt id="link-48" class="py-name" targets="Variable lxml.etree._ProcessingInstruction.target=lxml.etree._ProcessingInstruction-class.html#target"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-48', 'target', 'link-48');">target</a></tt><tt class="py-op">,</tt> <tt id="link-49" class="py-name" targets="Method lxml.etree.TreeBuilder.data()=lxml.etree.TreeBuilder-class.html#data"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-49', 'data', 'link-49');">data</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-keyword">if</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_root_siblings</tt><tt class="py-op">.</tt><tt id="link-50" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-50', 'append', 'link-28');">append</a></tt><tt class="py-op">(</tt><tt id="link-51" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-51', 'pi', 'link-47');">pi</a></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">_element_stack</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-52" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-52', 'append', 'link-28');">append</a></tt><tt class="py-op">(</tt><tt id="link-53" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-53', 'pi', 'link-47');">pi</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.endElementNS"></a><div id="ElementTreeContentHandler.endElementNS-def"><a name="L125"></a><tt class="py-lineno">125</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endElementNS-toggle" onclick="return toggle('ElementTreeContentHandler.endElementNS');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endElementNS">endElementNS</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_name</tt><tt class="py-op">,</tt> <tt class="py-param">qname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.endElementNS-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endElementNS-expanded"><a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">        <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</tt><tt class="py-op">.</tt><tt id="link-54" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-54', 'pop', 'link-35');">pop</a></tt><tt class="py-op">(</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">el_tag</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-55" class="py-name"><a title="lxml.sax.ElementTreeContentHandler._buildTag" class="py-name" href="#" onclick="return doclink('link-55', '_buildTag', 'link-37');">_buildTag</a></tt><tt class="py-op">(</tt><tt class="py-name">ns_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">el_tag</tt> <tt class="py-op">!=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-56" 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-55', 'tag', 'link-11');">tag</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-56" class="py-name" targets="Class lxml.sax.SaxError=lxml.sax.SaxError-class.html"><a title="lxml.sax.SaxError" class="py-name" href="#" onclick="return doclink('link-56', 'SaxError', 'link-56');">SaxError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Unexpected element closed: "</tt> <tt class="py-op">+</tt> <tt class="py-name">el_tag</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.startElement"></a><div id="ElementTreeContentHandler.startElement-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startElement-toggle" onclick="return toggle('ElementTreeContentHandler.startElement');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startElement">startElement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">attributes</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="ElementTreeContentHandler.startElement-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startElement-expanded"><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
-<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">            <tt class="py-name">attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">                    <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-57" class="py-name" targets="Variable lxml.tests.test_objectify.v=lxml.tests.test_objectify-module.html#v"><a title="lxml.tests.test_objectify.v" class="py-name" href="#" onclick="return doclink('link-57', 'v', 'link-57');">v</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt id="link-58" class="py-name"><a title="lxml.tests.test_objectify.v" class="py-name" href="#" onclick="return doclink('link-58', 'v', 'link-57');">v</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-59" class="py-name"><a title="lxml.etree._Attrib.items
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-56', 'tag', 'link-11');">tag</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-keyword">raise</tt> <tt id="link-57" class="py-name" targets="Class lxml.sax.SaxError=lxml.sax.SaxError-class.html"><a title="lxml.sax.SaxError" class="py-name" href="#" onclick="return doclink('link-57', 'SaxError', 'link-57');">SaxError</a></tt><tt class="py-op">(</tt><tt class="py-string">"Unexpected element closed: "</tt> <tt class="py-op">+</tt> <tt class="py-name">el_tag</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.startElement"></a><div id="ElementTreeContentHandler.startElement-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.startElement-toggle" onclick="return toggle('ElementTreeContentHandler.startElement');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#startElement">startElement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">,</tt> <tt class="py-param">attributes</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="ElementTreeContentHandler.startElement-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.startElement-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attributes</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">dict</tt><tt class="py-op">(</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                    <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-name">k</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-58" class="py-name" targets="Variable lxml.tests.test_objectify.v=lxml.tests.test_objectify-module.html#v"><a title="lxml.tests.test_objectify.v" class="py-name" href="#" onclick="return doclink('link-58', 'v', 'link-58');">v</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt><tt class="py-op">,</tt> <tt id="link-59" class="py-name"><a title="lxml.tests.test_objectify.v" class="py-name" href="#" onclick="return doclink('link-59', 'v', 'link-58');">v</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attributes</tt><tt class="py-op">.</tt><tt id="link-60" 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-59', 'items', 'link-38');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">                <tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-60" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startElementNS()=lxml.sax.ElementTreeContentHandler-class.html#startElementNS"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-60', 'startElementNS', 'link-60');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-61" 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._IDDict.items" class="py-name" href="#" onclick="return doclink('link-60', 'items', 'link-39');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">]</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">                <tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-61" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startElementNS()=lxml.sax.ElementTreeContentHandler-class.html#startElementNS"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-61', 'startElementNS', 'link-61');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-62" 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-61', 'name', 'link-61');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-62" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-62', 'name', 'link-62');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-63" 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-62', 'name', 'link-61');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">attributes</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.endElement"></a><div id="ElementTreeContentHandler.endElement-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endElement-toggle" onclick="return toggle('ElementTreeContentHandler.endElement');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endElement">endElement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.endElement-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endElement-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-63" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endElementNS()=lxml.sax.ElementTreeContentHandler-class.html#endElementNS"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-63', 'endElementNS', 'link-63');">endElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-64" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-63', 'name', 'link-62');">name</a></tt><tt class="py-op">,</tt> <tt class="py-name">attributes</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.endElement"></a><div id="ElementTreeContentHandler.endElement-def"><a name="L138"></a><tt class="py-lineno">138</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.endElement-toggle" onclick="return toggle('ElementTreeContentHandler.endElement');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#endElement">endElement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">name</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.endElement-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.endElement-expanded"><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-64" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endElementNS()=lxml.sax.ElementTreeContentHandler-class.html#endElementNS"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-64', 'endElementNS', 'link-64');">endElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-65" 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-64', 'name', 'link-61');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-65" class="py-name"><a title="lxml.etree.DTD.name
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-65', 'name', 'link-62');">name</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-66" 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-65', 'name', 'link-61');">name</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeContentHandler.characters"></a><div id="ElementTreeContentHandler.characters-def"><a name="L140"></a><tt class="py-lineno">140</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.characters-toggle" onclick="return toggle('ElementTreeContentHandler.characters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#characters">characters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeContentHandler.characters-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.characters-expanded"><a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">last_element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</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="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">            <tt class="py-comment"># if there already is a child element, we must append to its tail</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">last_element</tt> <tt class="py-op">=</tt> <tt class="py-name">last_element</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="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-66" 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-66', 'tail', 'link-66');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-67', 'tail', 'link-66');">tail</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-68" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-68', 'data', 'link-48');">data</a></tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
-<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            <tt class="py-comment"># otherwise: append to the text</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-69" 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.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-66', 'name', 'link-62');">name</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeContentHandler.characters"></a><div id="ElementTreeContentHandler.characters-def"><a name="L141"></a><tt class="py-lineno">141</tt> <a class="py-toggle" href="#" id="ElementTreeContentHandler.characters-toggle" onclick="return toggle('ElementTreeContentHandler.characters');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeContentHandler-class.html#characters">characters</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeContentHandler.characters-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeContentHandler.characters-expanded"><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">last_element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element_stack</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="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-comment"># if there already is a child element, we must append to its tail</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">last_element</tt> <tt class="py-op">=</tt> <tt class="py-name">last_element</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="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-67" 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-67', 'tail', 'link-67');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-68" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-68', 'tail', 'link-67');">tail</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-69" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-69', 'data', 'link-49');">data</a></tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">IndexError</tt><tt class="py-op">:</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">            <tt class="py-comment"># otherwise: append to the text</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-70" 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-69', 'text', 'link-69');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-70" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-70', 'text', 'link-70');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-op">(</tt><tt class="py-name">last_element</tt><tt class="py-op">.</tt><tt id="link-71" 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-70', 'text', 'link-69');">text</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-71" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-71', 'data', 'link-48');">data</a></tt> </tt>
-</div><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-name">ignorableWhitespace</tt> <tt class="py-op">=</tt> <tt id="link-72" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.characters()=lxml.sax.ElementTreeContentHandler-class.html#characters"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-72', 'characters', 'link-72');">characters</a></tt> </tt>
-</div><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeProducer"></a><div id="ElementTreeProducer-def"><a name="L153"></a><tt class="py-lineno">153</tt> <a class="py-toggle" href="#" id="ElementTreeProducer-toggle" onclick="return toggle('ElementTreeProducer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html">ElementTreeProducer</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="ElementTreeProducer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ElementTreeProducer-expanded"><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-docstring">"""Produces SAX events for an element and children.</tt> </tt>
-<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="ElementTreeProducer.__init__"></a><div id="ElementTreeProducer.__init__-def"><a name="L156"></a><tt class="py-lineno">156</tt> <a class="py-toggle" href="#" id="ElementTreeProducer.__init__-toggle" onclick="return toggle('ElementTreeProducer.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">element_or_tree</tt><tt class="py-op">,</tt> <tt class="py-param">content_handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeProducer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer.__init__-expanded"><a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">element_or_tree</tt><tt class="py-op">.</tt><tt id="link-73" 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-73', 'getroot', 'link-73');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">element_or_tree</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">content_handler</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-74" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-74', 'xml', 'link-0');">xml</a></tt><tt class="py-op">.</tt><tt id="link-75" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-75', 'sax', 'link-1');">sax</a></tt><tt class="py-op">.</tt><tt class="py-name">xmlreader</tt> <tt class="py-keyword">import</tt> <tt class="py-name">AttributesNSImpl</tt> <tt class="py-keyword">as</tt> <tt class="py-name">attr_class</tt> </tt>
-<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_attr_class</tt> <tt class="py-op">=</tt> <tt class="py-name">attr_class</tt> </tt>
-<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_empty_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attr_class</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 class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeProducer.saxify"></a><div id="ElementTreeProducer.saxify-def"><a name="L167"></a><tt class="py-lineno">167</tt> <a class="py-toggle" href="#" id="ElementTreeProducer.saxify-toggle" onclick="return toggle('ElementTreeProducer.saxify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#saxify">saxify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeProducer.saxify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer.saxify-expanded"><a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt><tt class="py-op">.</tt><tt id="link-76" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startDocument()=lxml.sax.ElementTreeContentHandler-class.html#startDocument"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-76', 'startDocument', 'link-76');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element</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-77" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-77', 'hasattr', 'link-41');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-string">'getprevious'</tt><tt class="py-op">)</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">siblings</tt> <tt class="py-op">=</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">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-78" 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-78', 'getprevious', 'link-78');">getprevious</a></tt><tt class="py-op">(</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">while</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-string">'tag'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</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">siblings</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-79', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">)</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                <tt class="py-name">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">sibling</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-80', 'getprevious', 'link-78');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">sibling</tt> <tt class="py-keyword">in</tt> <tt class="py-name">siblings</tt><tt class="py-op">[</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="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name" targets="Method lxml.sax.ElementTreeProducer._recursive_saxify()=lxml.sax.ElementTreeProducer-class.html#_recursive_saxify"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-81', '_recursive_saxify', 'link-81');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line"> </tt>
-<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-82', '_recursive_saxify', 'link-81');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line"> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-83" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-83', 'hasattr', 'link-41');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-string">'getnext'</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 class="py-name">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method lxml.etree._Element.getnext()=lxml.etree._Element-class.html#getnext"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-84', 'getnext', 'link-84');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-string">'tag'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">:</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-85', '_recursive_saxify', 'link-81');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                <tt class="py-name">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">sibling</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-86', 'getnext', 'link-84');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line"> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endDocument()=lxml.sax.ElementTreeContentHandler-class.html#endDocument"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-87', 'endDocument', 'link-87');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeProducer._recursive_saxify"></a><div id="ElementTreeProducer._recursive_saxify-def"><a name="L190"></a><tt class="py-lineno">190</tt> <a class="py-toggle" href="#" id="ElementTreeProducer._recursive_saxify-toggle" onclick="return toggle('ElementTreeProducer._recursive_saxify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#_recursive_saxify">_recursive_saxify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">element</tt><tt class="py-op">,</tt> <tt class="py-param">prefixes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeProducer._recursive_saxify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer._recursive_saxify-expanded"><a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">        <tt class="py-name">content_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt id="link-88" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-71', 'text', 'link-70');">text</a></tt> <tt class="py-keyword">or</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> <tt class="py-op">+</tt> <tt id="link-72" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-72', 'data', 'link-49');">data</a></tt> </tt>
+</div><a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-name">ignorableWhitespace</tt> <tt class="py-op">=</tt> <tt id="link-73" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.characters()=lxml.sax.ElementTreeContentHandler-class.html#characters"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-73', 'characters', 'link-73');">characters</a></tt> </tt>
+</div><a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeProducer"></a><div id="ElementTreeProducer-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="ElementTreeProducer-toggle" onclick="return toggle('ElementTreeProducer');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html">ElementTreeProducer</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="ElementTreeProducer-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ElementTreeProducer-expanded"><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-docstring">"""Produces SAX events for an element and children.</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="ElementTreeProducer.__init__"></a><div id="ElementTreeProducer.__init__-def"><a name="L157"></a><tt class="py-lineno">157</tt> <a class="py-toggle" href="#" id="ElementTreeProducer.__init__-toggle" onclick="return toggle('ElementTreeProducer.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">element_or_tree</tt><tt class="py-op">,</tt> <tt class="py-param">content_handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeProducer.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer.__init__-expanded"><a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">element_or_tree</tt><tt class="py-op">.</tt><tt id="link-74" 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-74', 'getroot', 'link-74');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">AttributeError</tt><tt class="py-op">:</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">element_or_tree</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">content_handler</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">from</tt> <tt id="link-75" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-75', 'xml', 'link-0');">xml</a></tt><tt class="py-op">.</tt><tt id="link-76" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-76', 'sax', 'link-1');">sax</a></tt><tt class="py-op">.</tt><tt class="py-name">xmlreader</tt> <tt class="py-keyword">import</tt> <tt class="py-name">AttributesNSImpl</tt> <tt class="py-keyword">as</tt> <tt class="py-name">attr_class</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_attr_class</tt> <tt class="py-op">=</tt> <tt class="py-name">attr_class</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_empty_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">attr_class</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 class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeProducer.saxify"></a><div id="ElementTreeProducer.saxify-def"><a name="L168"></a><tt class="py-lineno">168</tt> <a class="py-toggle" href="#" id="ElementTreeProducer.saxify-toggle" onclick="return toggle('ElementTreeProducer.saxify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#saxify">saxify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeProducer.saxify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer.saxify-expanded"><a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startDocument()=lxml.sax.ElementTreeContentHandler-class.html#startDocument"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-77', 'startDocument', 'link-77');">startDocument</a></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>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">element</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_element</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</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-42');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-string">'getprevious'</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">siblings</tt> <tt class="py-op">=</tt> <tt class="py-op">[</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">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-79" 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-79', 'getprevious', 'link-79');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-string">'tag'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">:</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                <tt class="py-name">siblings</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-80', 'append', 'link-28');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</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">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">sibling</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-81', 'getprevious', 'link-79');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">sibling</tt> <tt class="py-keyword">in</tt> <tt class="py-name">siblings</tt><tt class="py-op">[</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="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name" targets="Method lxml.sax.ElementTreeProducer._recursive_saxify()=lxml.sax.ElementTreeProducer-class.html#_recursive_saxify"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-82', '_recursive_saxify', 'link-82');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-op">{</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>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-83', '_recursive_saxify', 'link-82');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line"> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-84" class="py-name"><a title="lxml.objectify.ObjectPath.hasattr" class="py-name" href="#" onclick="return doclink('link-84', 'hasattr', 'link-42');">hasattr</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">,</tt> <tt class="py-string">'getnext'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-name">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name" targets="Method lxml.etree._Element.getnext()=lxml.etree._Element-class.html#getnext"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-85', 'getnext', 'link-85');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-keyword">while</tt> <tt class="py-name">getattr</tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-string">'tag'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">:</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">                <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-86', '_recursive_saxify', 'link-82');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">sibling</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">                <tt class="py-name">sibling</tt> <tt class="py-op">=</tt> <tt class="py-name">sibling</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-87', 'getnext', 'link-85');">getnext</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endDocument()=lxml.sax.ElementTreeContentHandler-class.html#endDocument"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-88', 'endDocument', 'link-88');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeProducer._recursive_saxify"></a><div id="ElementTreeProducer._recursive_saxify-def"><a name="L191"></a><tt class="py-lineno">191</tt> <a class="py-toggle" href="#" id="ElementTreeProducer._recursive_saxify-toggle" onclick="return toggle('ElementTreeProducer._recursive_saxify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#_recursive_saxify">_recursive_saxify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">element</tt><tt class="py-op">,</tt> <tt class="py-param">prefixes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeProducer._recursive_saxify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer._recursive_saxify-expanded"><a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">content_handler</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_content_handler</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt id="link-89" 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-88', 'tag', 'link-11');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-89', 'tag', 'link-11');">tag</a></tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-90" 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-89', 'tag', 'link-11');">tag</a></tt> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-90" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-90', 'tag', 'link-11');">tag</a></tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt id="link-91" 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-90', 'tag', 'link-11');">tag</a></tt> <tt class="py-keyword">is</tt> <tt id="link-91" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-91', 'Comment', 'link-10');">Comment</a></tt> <tt class="py-keyword">or</tt> <tt id="link-92" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-91', 'tag', 'link-11');">tag</a></tt> <tt class="py-keyword">is</tt> <tt id="link-92" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-92', 'Comment', 'link-10');">Comment</a></tt> <tt class="py-keyword">or</tt> <tt id="link-93" 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-92', 'tag', 'link-11');">tag</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">:</tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-93" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-93', 'tag', 'link-11');">tag</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">:</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt id="link-94" 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-93', 'tag', 'link-11');">tag</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-94" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.processingInstruction()=lxml.sax.ElementTreeContentHandler-class.html#processingInstruction"><a title="lxml.sax.ElementTreeContentHandler.processingInstruction" class="py-name" href="#" onclick="return doclink('link-94', 'processingInstruction', 'link-94');">processingInstruction</a></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">element</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-95', 'target', 'link-47');">target</a></tt><tt class="py-op">,</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-94', 'tag', 'link-11');">tag</a></tt> <tt class="py-keyword">is</tt> <tt class="py-name">ProcessingInstruction</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-95" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.processingInstruction()=lxml.sax.ElementTreeContentHandler-class.html#processingInstruction"><a title="lxml.sax.ElementTreeContentHandler.processingInstruction" class="py-name" href="#" onclick="return doclink('link-95', 'processingInstruction', 'link-95');">processingInstruction</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                    <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-96" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-96', 'target', 'link-48');">target</a></tt><tt class="py-op">,</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-97" 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-96', 'text', 'link-69');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-97" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-97', 'tail', 'link-66');">tail</a></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">content_handler</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-98', 'characters', 'link-72');">characters</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-99', 'tail', 'link-66');">tail</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line"> </tt>
-<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">        <tt class="py-name">new_prefixes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">build_qname</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name" targets="Method lxml.sax.ElementTreeProducer._build_qname()=lxml.sax.ElementTreeProducer-class.html#_build_qname"><a title="lxml.sax.ElementTreeProducer._build_qname" class="py-name" href="#" onclick="return doclink('link-100', '_build_qname', 'link-100');">_build_qname</a></tt> </tt>
-<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="lxml.etree._Attrib.items
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-97', 'text', 'link-70');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-98" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-98', 'tail', 'link-67');">tail</a></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">content_handler</tt><tt class="py-op">.</tt><tt id="link-99" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-99', 'characters', 'link-73');">characters</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-100', 'tail', 'link-67');">tail</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">        <tt class="py-name">new_prefixes</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">build_qname</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name" targets="Method lxml.sax.ElementTreeProducer._build_qname()=lxml.sax.ElementTreeProducer-class.html#_build_qname"><a title="lxml.sax.ElementTreeProducer._build_qname" class="py-name" href="#" onclick="return doclink('link-101', '_build_qname', 'link-101');">_build_qname</a></tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">attribs</tt> <tt class="py-op">=</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-102" 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-101', 'items', 'link-38');">items</a></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 class="py-keyword">if</tt> <tt class="py-name">attribs</tt><tt class="py-op">:</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-name">attr_values</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">attr_qnames</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">attr_ns_name</tt><tt class="py-op">,</tt> <tt id="link-102" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-102', 'items', 'link-39');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">attribs</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">            <tt class="py-name">attr_values</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-name">attr_qnames</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">attr_ns_name</tt><tt class="py-op">,</tt> <tt id="link-103" 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-102', 'value', 'link-39');">value</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attribs</tt><tt class="py-op">:</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-name">attr_ns_tuple</tt> <tt class="py-op">=</tt> <tt id="link-103" class="py-name" targets="Function lxml.sax._getNsTag()=lxml.sax-module.html#_getNsTag"><a title="lxml.sax._getNsTag" class="py-name" href="#" onclick="return doclink('link-103', '_getNsTag', 'link-103');">_getNsTag</a></tt><tt class="py-op">(</tt><tt class="py-name">attr_ns_name</tt><tt class="py-op">)</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">attr_values</tt><tt class="py-op">[</tt><tt class="py-name">attr_ns_tuple</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-103', 'value', 'link-40');">value</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">attribs</tt><tt class="py-op">:</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">attr_ns_tuple</tt> <tt class="py-op">=</tt> <tt id="link-104" class="py-name" targets="Function lxml.sax._getNsTag()=lxml.sax-module.html#_getNsTag"><a title="lxml.sax._getNsTag" class="py-name" href="#" onclick="return doclink('link-104', '_getNsTag', 'link-104');">_getNsTag</a></tt><tt class="py-op">(</tt><tt class="py-name">attr_ns_name</tt><tt class="py-op">)</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">attr_values</tt><tt class="py-op">[</tt><tt class="py-name">attr_ns_tuple</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-105" 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-104', 'value', 'link-39');">value</a></tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">attr_qnames</tt><tt class="py-op">[</tt><tt class="py-name">attr_ns_tuple</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">build_qname</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">attr_ns_tuple</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">attr_ns_tuple</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">prefixes</tt><tt class="py-op">,</tt> <tt class="py-name">new_prefixes</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">sax_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_attr_class</tt><tt class="py-op">(</tt><tt class="py-name">attr_values</tt><tt class="py-op">,</tt> <tt class="py-name">attr_qnames</tt><tt class="py-op">)</tt> </tt>
-<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">        <tt class="py-keyword">else</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">sax_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_empty_attributes</tt> </tt>
-<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line"> </tt>
-<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">        <tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt> <tt class="py-op">=</tt> <tt id="link-105" class="py-name"><a title="lxml.sax._getNsTag" class="py-name" href="#" onclick="return doclink('link-105', '_getNsTag', 'link-103');">_getNsTag</a></tt><tt class="py-op">(</tt><tt id="link-106" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-105', 'value', 'link-40');">value</a></tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-name">attr_qnames</tt><tt class="py-op">[</tt><tt class="py-name">attr_ns_tuple</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">build_qname</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">attr_ns_tuple</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">attr_ns_tuple</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">prefixes</tt><tt class="py-op">,</tt> <tt class="py-name">new_prefixes</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">            <tt class="py-name">sax_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_attr_class</tt><tt class="py-op">(</tt><tt class="py-name">attr_values</tt><tt class="py-op">,</tt> <tt class="py-name">attr_qnames</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">else</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">sax_attributes</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_empty_attributes</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line"> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt> <tt class="py-op">=</tt> <tt id="link-106" class="py-name"><a title="lxml.sax._getNsTag" class="py-name" href="#" onclick="return doclink('link-106', '_getNsTag', 'link-104');">_getNsTag</a></tt><tt class="py-op">(</tt><tt id="link-107" 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-106', 'tag', 'link-11');">tag</a></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">qname</tt> <tt class="py-op">=</tt> <tt class="py-name">build_qname</tt><tt class="py-op">(</tt><tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">,</tt> <tt class="py-name">prefixes</tt><tt class="py-op">,</tt> <tt class="py-name">new_prefixes</tt><tt class="py-op">)</tt> </tt>
-<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-keyword">for</tt> <tt id="link-107" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-107', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">,</tt> <tt id="link-108" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-108', 'uri', 'link-25');">uri</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">new_prefixes</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-109', 'startPrefixMapping', 'link-109');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt id="link-110" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-110', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">,</tt> <tt id="link-111" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-111', 'uri', 'link-25');">uri</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">content_handler</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-112', 'startElementNS', 'link-60');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</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 class="py-name">qname</tt><tt class="py-op">,</tt> <tt class="py-name">sax_attributes</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">element</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-107', 'tag', 'link-11');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">qname</tt> <tt class="py-op">=</tt> <tt class="py-name">build_qname</tt><tt class="py-op">(</tt><tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">,</tt> <tt class="py-name">prefixes</tt><tt class="py-op">,</tt> <tt class="py-name">new_prefixes</tt><tt class="py-op">)</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-108" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-108', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">,</tt> <tt id="link-109" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-109', 'uri', 'link-26');">uri</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">new_prefixes</tt><tt class="py-op">:</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">            <tt class="py-name">content_handler</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-110', 'startPrefixMapping', 'link-110');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt id="link-111" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-111', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">,</tt> <tt id="link-112" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-112', 'uri', 'link-26');">uri</a></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">content_handler</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-113', 'startElementNS', 'link-61');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">)</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">qname</tt><tt class="py-op">,</tt> <tt class="py-name">sax_attributes</tt><tt class="py-op">)</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-114" 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-113', 'text', 'link-69');">text</a></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">content_handler</tt><tt class="py-op">.</tt><tt id="link-114" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-114', 'characters', 'link-72');">characters</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-114', 'text', 'link-70');">text</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">            <tt class="py-name">content_handler</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-115', 'characters', 'link-73');">characters</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-116" 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-115', 'text', 'link-69');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</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">element</tt><tt class="py-op">:</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-116" class="py-name"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-116', '_recursive_saxify', 'link-81');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">prefixes</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-117', 'endElementNS', 'link-63');">endElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">qname</tt><tt class="py-op">)</tt> </tt>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-118" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-118', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">,</tt> <tt id="link-119" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-119', 'uri', 'link-25');">uri</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">new_prefixes</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-120" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#endPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-120', 'endPrefixMapping', 'link-120');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt id="link-121" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-121', 'prefix', 'link-24');">prefix</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-keyword">if</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-122" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-122', 'tail', 'link-66');">tail</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">            <tt class="py-name">content_handler</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-123', 'characters', 'link-72');">characters</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-124', 'tail', 'link-66');">tail</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line"> </tt>
-<a name="ElementTreeProducer._build_qname"></a><div id="ElementTreeProducer._build_qname-def"><a name="L233"></a><tt class="py-lineno">233</tt> <a class="py-toggle" href="#" id="ElementTreeProducer._build_qname-toggle" onclick="return toggle('ElementTreeProducer._build_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#_build_qname">_build_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-param">local_name</tt><tt class="py-op">,</tt> <tt class="py-param">prefixes</tt><tt class="py-op">,</tt> <tt class="py-param">new_prefixes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementTreeProducer._build_qname-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer._build_qname-expanded"><a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ns_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
-<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">local_name</tt> </tt>
-<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">            <tt id="link-125" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-125', 'prefix', 'link-24');">prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-name">prefixes</tt><tt class="py-op">[</tt><tt class="py-name">ns_uri</tt><tt class="py-op">]</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
-<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">            <tt id="link-126" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-126', 'prefix', 'link-24');">prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-name">prefixes</tt><tt class="py-op">[</tt><tt class="py-name">ns_uri</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'ns%02d'</tt> <tt class="py-op">%</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">prefixes</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-name">new_prefixes</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-127', 'append', 'link-27');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt id="link-128" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-128', 'prefix', 'link-24');">prefix</a></tt><tt class="py-op">,</tt> <tt class="py-name">ns_uri</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-129" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-129', 'prefix', 'link-24');">prefix</a></tt> <tt class="py-op">+</tt> <tt class="py-string">':'</tt> <tt class="py-op">+</tt> <tt class="py-name">local_name</tt> </tt>
-</div></div><a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line"> </tt>
-<a name="saxify"></a><div id="saxify-def"><a name="L243"></a><tt class="py-lineno">243</tt> <a class="py-toggle" href="#" id="saxify-toggle" onclick="return toggle('saxify');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax-module.html#saxify">saxify</a><tt class="py-op">(</tt><tt class="py-param">element_or_tree</tt><tt class="py-op">,</tt> <tt class="py-param">content_handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="saxify-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="saxify-expanded"><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-docstring">"""One-shot helper to generate SAX events from an XML tree and fire</tt> </tt>
-<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line"><tt class="py-docstring">    them against a SAX ContentHandler.</tt> </tt>
-<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
-<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-130" class="py-name" targets="Class lxml.sax.ElementTreeProducer=lxml.sax.ElementTreeProducer-class.html"><a title="lxml.sax.ElementTreeProducer" class="py-name" href="#" onclick="return doclink('link-130', 'ElementTreeProducer', 'link-130');">ElementTreeProducer</a></tt><tt class="py-op">(</tt><tt class="py-name">element_or_tree</tt><tt class="py-op">,</tt> <tt class="py-name">content_handler</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name" targets="Method lxml.sax.ElementTreeProducer.saxify()=lxml.sax.ElementTreeProducer-class.html#saxify,Function lxml.sax.saxify()=lxml.sax-module.html#saxify"><a title="lxml.sax.ElementTreeProducer.saxify
-lxml.sax.saxify" class="py-name" href="#" onclick="return doclink('link-131', 'saxify', 'link-131');">saxify</a></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><script type="text/javascript">
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-116', 'text', 'link-70');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</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">element</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">self</tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="lxml.sax.ElementTreeProducer._recursive_saxify" class="py-name" href="#" onclick="return doclink('link-117', '_recursive_saxify', 'link-82');">_recursive_saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-name">prefixes</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-118" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-118', 'endElementNS', 'link-64');">endElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-name">local_name</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">qname</tt><tt class="py-op">)</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-119" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-119', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">,</tt> <tt id="link-120" class="py-name"><a title="lxml.tests.test_xpathevaluator.uri" class="py-name" href="#" onclick="return doclink('link-120', 'uri', 'link-26');">uri</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">new_prefixes</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">content_handler</tt><tt class="py-op">.</tt><tt id="link-121" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#endPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-121', 'endPrefixMapping', 'link-121');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt id="link-122" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-122', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-123', 'tail', 'link-67');">tail</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">            <tt class="py-name">content_handler</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.characters" class="py-name" href="#" onclick="return doclink('link-124', 'characters', 'link-73');">characters</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-125', 'tail', 'link-67');">tail</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line"> </tt>
+<a name="ElementTreeProducer._build_qname"></a><div id="ElementTreeProducer._build_qname-def"><a name="L234"></a><tt class="py-lineno">234</tt> <a class="py-toggle" href="#" id="ElementTreeProducer._build_qname-toggle" onclick="return toggle('ElementTreeProducer._build_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax.ElementTreeProducer-class.html#_build_qname">_build_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">ns_uri</tt><tt class="py-op">,</tt> <tt class="py-param">local_name</tt><tt class="py-op">,</tt> <tt class="py-param">prefixes</tt><tt class="py-op">,</tt> <tt class="py-param">new_prefixes</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementTreeProducer._build_qname-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ElementTreeProducer._build_qname-expanded"><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">ns_uri</tt> <tt class="py-keyword">is</tt> <tt class="py-name">None</tt><tt class="py-op">:</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-name">local_name</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">            <tt id="link-126" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-126', 'prefix', 'link-25');">prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-name">prefixes</tt><tt class="py-op">[</tt><tt class="py-name">ns_uri</tt><tt class="py-op">]</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">KeyError</tt><tt class="py-op">:</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt id="link-127" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-127', 'prefix', 'link-25');">prefix</a></tt> <tt class="py-op">=</tt> <tt class="py-name">prefixes</tt><tt class="py-op">[</tt><tt class="py-name">ns_uri</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'ns%02d'</tt> <tt class="py-op">%</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">prefixes</tt><tt class="py-op">)</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">new_prefixes</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-128', 'append', 'link-28');">append</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt id="link-129" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-129', 'prefix', 'link-25');">prefix</a></tt><tt class="py-op">,</tt> <tt class="py-name">ns_uri</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-130" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-130', 'prefix', 'link-25');">prefix</a></tt> <tt class="py-op">+</tt> <tt class="py-string">':'</tt> <tt class="py-op">+</tt> <tt class="py-name">local_name</tt> </tt>
+</div></div><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
+<a name="saxify"></a><div id="saxify-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="saxify-toggle" onclick="return toggle('saxify');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.sax-module.html#saxify">saxify</a><tt class="py-op">(</tt><tt class="py-param">element_or_tree</tt><tt class="py-op">,</tt> <tt class="py-param">content_handler</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="saxify-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="saxify-expanded"><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">    <tt class="py-docstring">"""One-shot helper to generate SAX events from an XML tree and fire</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line"><tt class="py-docstring">    them against a SAX ContentHandler.</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt id="link-131" class="py-name" targets="Class lxml.sax.ElementTreeProducer=lxml.sax.ElementTreeProducer-class.html"><a title="lxml.sax.ElementTreeProducer" class="py-name" href="#" onclick="return doclink('link-131', 'ElementTreeProducer', 'link-131');">ElementTreeProducer</a></tt><tt class="py-op">(</tt><tt class="py-name">element_or_tree</tt><tt class="py-op">,</tt> <tt class="py-name">content_handler</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name" targets="Method lxml.sax.ElementTreeProducer.saxify()=lxml.sax.ElementTreeProducer-class.html#saxify,Function lxml.sax.saxify()=lxml.sax-module.html#saxify"><a title="lxml.sax.ElementTreeProducer.saxify
+lxml.sax.saxify" class="py-name" href="#" onclick="return doclink('link-132', 'saxify', 'link-132');">saxify</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -496,7 +566,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 001945b6fe1d4c0712096f241a845f94f2f8b5d0..90211c9e707b818f8fe70f790527684a09ebe1e1 100644 (file)
@@ -871,7 +871,7 @@ Locator provides useful information.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c85708598ddaa41d1602147554635e5ccd57e55a..036206f5cfaa84ee2e1e1bd98866db3220a534fa 100644 (file)
@@ -281,7 +281,7 @@ Produces SAX events for an element and children.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9151f745b47590b5dd0530c87d7455d541a6dd69..714a37d66c07d6ce16c753b5bf842343f4064524 100644 (file)
@@ -211,7 +211,7 @@ General SAX error.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 024680feb8337b8f599f4e1c07c843d3923f06fe..a72805b651ef1589d2228749c6e9612d1896c09e 100644 (file)
@@ -170,7 +170,7 @@ namespace registry mechanism</em>    </li>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b92091efa880d35ac32b9ea8d4afa584b4774463..133139394220b16bad98a4dfd9e17cf45aec5d47 100644 (file)
@@ -102,7 +102,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2cbdc4bc6e87e2a81750cb76926721a6f0eda13e..eedac590ea3269243570f4ed0ef227e78e6e02ae 100644 (file)
@@ -522,7 +522,7 @@ occurrences of pattern in string by the replacement repl.</td>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5a3b143273801d2a3dbfeef1a66a5dce743af3b4..c0e5c8a611bfb988e7b0bdf1f8275ea8446cbff1 100644 (file)
@@ -406,7 +406,7 @@ lxml.tests.common_imports.LargeFileLikeUnicode.iterelements" class="py-name" hre
 </div></div><a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line"> </tt>
 <a name="LargeFileLikeUnicode"></a><div id="LargeFileLikeUnicode-def"><a name="L249"></a><tt class="py-lineno">249</tt> <a class="py-toggle" href="#" id="LargeFileLikeUnicode-toggle" onclick="return toggle('LargeFileLikeUnicode');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.common_imports.LargeFileLikeUnicode-class.html">LargeFileLikeUnicode</a><tt class="py-op">(</tt><tt class="py-base-class">LargeFileLike</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="LargeFileLikeUnicode-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="LargeFileLikeUnicode-expanded"><a name="LargeFileLikeUnicode.__init__"></a><div id="LargeFileLikeUnicode.__init__-def"><a name="L250"></a><tt class="py-lineno">250</tt> <a class="py-toggle" href="#" id="LargeFileLikeUnicode.__init__-toggle" onclick="return toggle('LargeFileLikeUnicode.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.common_imports.LargeFileLikeUnicode-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">charlen</tt><tt class="py-op">=</tt><tt class="py-number">100</tt><tt class="py-op">,</tt> <tt class="py-param">depth</tt><tt class="py-op">=</tt><tt class="py-number">4</tt><tt class="py-op">,</tt> <tt class="py-param">children</tt><tt class="py-op">=</tt><tt class="py-number">5</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="LargeFileLikeUnicode.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LargeFileLikeUnicode.__init__-expanded"><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt id="link-124" class="py-name" targets="Class lxml.tests.common_imports.LargeFileLike=lxml.tests.common_imports.LargeFileLike-class.html"><a title="lxml.tests.common_imports.LargeFileLike" class="py-name" href="#" onclick="return doclink('link-124', 'LargeFileLike', 'link-124');">LargeFileLike</a></tt><tt class="py-op">.</tt><tt id="link-125" 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.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.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.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__
+</div><div id="LargeFileLikeUnicode.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="LargeFileLikeUnicode.__init__-expanded"><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt id="link-124" class="py-name" targets="Class lxml.tests.common_imports.LargeFileLike=lxml.tests.common_imports.LargeFileLike-class.html"><a title="lxml.tests.common_imports.LargeFileLike" class="py-name" href="#" onclick="return doclink('link-124', 'LargeFileLike', 'link-124');">LargeFileLike</a></tt><tt class="py-op">.</tt><tt id="link-125" 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.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.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__
@@ -445,6 +445,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -612,7 +613,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2283c441487aca551f1c9258d4d58d9891aa3e6c..5ce79bf9c11066aa66abb003512d4f57ebca8cf5 100644 (file)
@@ -420,7 +420,7 @@ unittest.case.TestCase --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 12764ab63ba6bc1562a4929ec6b6bd3045728c9e..7b9023d248f1ec21c3309c91966336f2c1c3cad3 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1a0ea917e3606c71edeb2caf27c2f3378f5932a2..95f0718fe1ad53f3631ac127366cd2fcd2b82538 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1ed1f0d98051439df883404efd335766d226d473..20cd5b7d051aa01446661897c36ec00ad5c0e1a0 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7a8d5dd4ebc4dcc954c1802cb100392370892a69..288421961a26f519c10484dc11343fa2a4da0cce 100644 (file)
@@ -263,7 +263,7 @@ Simple HTTP request dumper for tests in Python 2.5+.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e925201b3e07eb176bb8065272d971f013c809d7..de5fce88bfd1b5bb9b70afb25316a666312d350e 100644 (file)
@@ -195,7 +195,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7b75411c7f8138b84ce1965304d8e6bf58b5d257..81cdcbabe8c71500eba39a03b482f001f6119683 100644 (file)
@@ -246,7 +246,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0d109cadf3783b1b62633226467002a6a18243c5..a68b8c9e160ccccaa60bff1cc8ae2c025a85c101 100644 (file)
@@ -203,7 +203,7 @@ A web server that starts a new thread for each request.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ad181a1b1fe18eb9d7da6d57160dac799248a714..d11adf0e1d04f0365c9a652469099bb74654a153 100644 (file)
@@ -330,7 +330,7 @@ message.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6335051f8fe508d1493d5f1698e8288efc3e3fe7..57059c7cfa5c255795cd680aeef8af863b3c9564 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index abc30ceb60741a4d5cdbd17f71546b025e7ec726..c83f2f1956c10c1ba4fb16a87b515d0a67e25c6d 100644 (file)
@@ -257,7 +257,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5e0be3043d40c43a6c4247fc3f83ad31a3e20935..9cd4034a80e906769c438ce637ae3c99710ede2e 100644 (file)
@@ -432,7 +432,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 49174834c59506695d4a3f7cba2a29f8f62a4bff..59b571bbe61b138b1331a185835f39e38881be43 100644 (file)
@@ -269,7 +269,7 @@ Tests for different Element class lookup mechanisms.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 65dc7b1de176750e0e2d0bb25a276c5fa3807add..78f0a894aa9cde7ede600022252d4195b91ac1dd 100644 (file)
@@ -1256,7 +1256,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dd0f12afad2f4dbb17705926b34c0c4af75fc47c..f5a094a7abe92a8d5f200d4cf363cc6ea5d93484 100644 (file)
@@ -604,7 +604,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 04768bf73280d4f1df79eab089d36e8969bec60b..ae3dbb729f2be51345d2b2d7afe5ca0cf87f8899 100644 (file)
@@ -498,7 +498,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 47639e1d89ba11bb204bce8e1e8f31a160727c9e..82010b9cbeb0ea820815284ede8be538aa8f4d5d 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b09391ac7bf8508604c0e00bc85cfd37c4aa82a7..9afa590a6ecb353d78037341389151e76119a7c5 100644 (file)
@@ -192,7 +192,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 505210a532fd1e6ae3b19861cf9f50ff3609570b..c4438d0c28d50c775bb49f1039bf5bc0f30614de 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ca9578e3296e5861c8788b5d4af60d3ec520fb25..f09e1fba37d98d792c1a4468d921bd37635d21f1 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3efe2856c7e4ead85004d60a7ee5e14a889f520c..0bbe60cf6ac00262d754dd1f5f8990e9311a5008 100644 (file)
@@ -294,7 +294,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b4c27ef8c38d64bad345afa586b69c7207d25ee5..ec3638720f4168bc5a5f4acb679767acd97260e5 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1852556e2491a514faeaea54a8de5ff028416651..9828aeebf1cc6d3f3725a95b1573b6947508b693 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index bec36989fb730b81c306632c225a2f596a391fd2..4b284c1813f73af0ed689c236cfb465a97d57cd9 100644 (file)
@@ -223,7 +223,7 @@ Test cases related to DTD parsing and validation
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e12f591dcd156df0526a5989db44cce8d3187dbe..c9403b1beb27cfb6972814d5710e5afc0737163f 100644 (file)
@@ -961,7 +961,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0ee7212ea798c4302b3d8a5d68fea7b83c7107b6..e78e9fb80131b4b72f4ee0b9bbd70738a3fe9294 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 24938a1f2c3118d59531361c11db29eac7746aaf..7b381fe8ff22cced03993cc3e13c5bec524f02af 100644 (file)
@@ -293,7 +293,7 @@ for IO related test cases.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 128b172f1d08ac86b3c711596199aa4ed850ecb9..26616b27f67ff510702e08858f3d3c7d3cdadae8 100644 (file)
@@ -77,7 +77,7 @@
 lxml.etree._BaseErrorLog.copy
 lxml.etree._ErrorLog.copy
 lxml.etree._IDDict.copy
-lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-0', 'copy', 'link-0');">copy</a></tt><tt class="py-op">,</tt> <tt class="py-name">operator</tt><tt class="py-op">,</tt> <tt class="py-name">gc</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-0', 'copy', 'link-0');">copy</a></tt><tt class="py-op">,</tt> <tt class="py-name">operator</tt><tt class="py-op">,</tt> <tt class="py-name">sys</tt> </tt>
 <a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"> </tt>
 <a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable lxml.tests.test_builder.this_dir=lxml.tests.test_builder-module.html#this_dir,Variable lxml.tests.test_classlookup.this_dir=lxml.tests.test_classlookup-module.html#this_dir,Variable lxml.tests.test_dtd.this_dir=lxml.tests.test_dtd-module.html#this_dir,Variable lxml.tests.test_elementtree.this_dir=lxml.tests.test_elementtree-module.html#this_dir,Variable lxml.tests.test_errors.this_dir=lxml.tests.test_errors-module.html#this_dir,Variable lxml.tests.test_etree.this_dir=lxml.tests.test_etree-module.html#this_dir,Variable lxml.tests.test_htmlparser.this_dir=lxml.tests.test_htmlparser-module.html#this_dir,Variable lxml.tests.test_http_io.this_dir=lxml.tests.test_http_io-module.html#this_dir,Variable lxml.tests.test_incremental_xmlfile.this_dir=lxml.tests.test_incremental_xmlfile-module.html#this_dir,Variable lxml.tests.test_io.this_dir=lxml.tests.test_io-module.html#this_dir,Variable lxml.tests.test_isoschematron.this_dir=lxml.tests.test_isoschematron-module.html#this_dir,Variable lxml.tests.test_nsclasses.this_dir=lxml.tests.test_nsclasses-module.html#this_dir,Variable lxml.tests.test_objectify.this_dir=lxml.tests.test_objectify-module.html#this_dir,Variable lxml.tests.test_pyclasslookup.this_dir=lxml.tests.test_pyclasslookup-module.html#this_dir,Variable lxml.tests.test_relaxng.this_dir=lxml.tests.test_relaxng-module.html#this_dir,Variable lxml.tests.test_sax.this_dir=lxml.tests.test_sax-module.html#this_dir,Variable lxml.tests.test_schematron.this_dir=lxml.tests.test_schematron-module.html#this_dir,Variable lxml.tests.test_threading.this_dir=lxml.tests.test_threading-module.html#this_dir,Variable lxml.tests.test_unicode.this_dir=lxml.tests.test_unicode-module.html#this_dir,Variable lxml.tests.test_xmlschema.this_dir=lxml.tests.test_xmlschema-module.html#this_dir,Variable lxml.tests.test_xpathevaluator.this_dir=lxml.tests.test_xpathevaluator-module.html#this_dir,Variable lxml.tests.test_xslt.this_dir=lxml.tests.test_xslt-module.html#this_dir"><a title="lxml.tests.test_builder.this_dir
 lxml.tests.test_classlookup.this_dir
@@ -146,7 +146,7 @@ lxml.tests.test_xmlschema.this_dir
 lxml.tests.test_xpathevaluator.this_dir
 lxml.tests.test_xslt.this_dir" class="py-name" href="#" onclick="return doclink('link-7', 'this_dir', 'link-1');">this_dir</a></tt><tt class="py-op">)</tt> <tt class="py-comment"># needed for Py3</tt> </tt>
 <a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"> </tt>
-<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name" targets="Module lxml.tests.common_imports=lxml.tests.common_imports-module.html"><a title="lxml.tests.common_imports" class="py-name" href="#" onclick="return doclink('link-8', 'common_imports', 'link-8');">common_imports</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">StringIO</tt><tt class="py-op">,</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Module lxml.etree=lxml.etree-module.html,Variable lxml.sax.ElementTreeContentHandler.etree=lxml.sax.ElementTreeContentHandler-class.html#etree,Variable lxml.tests.test_elementtree.CElementTreeTestCase.etree=lxml.tests.test_elementtree.CElementTreeTestCase-class.html#etree,Variable lxml.tests.test_elementtree._ETreeTestCaseBase.etree=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#etree,Variable lxml.tests.test_elementtree._XMLPullParserTest.etree=lxml.tests.test_elementtree._XMLPullParserTest-class.html#etree,Variable lxml.tests.test_io._IOTestCaseBase.etree=lxml.tests.test_io._IOTestCaseBase-class.html#etree"><a title="lxml.etree
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name" targets="Module lxml.tests.common_imports=lxml.tests.common_imports-module.html"><a title="lxml.tests.common_imports" class="py-name" href="#" onclick="return doclink('link-8', 'common_imports', 'link-8');">common_imports</a></tt> <tt class="py-keyword">import</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">,</tt> <tt id="link-9" class="py-name" targets="Module lxml.etree=lxml.etree-module.html,Variable lxml.sax.ElementTreeContentHandler.etree=lxml.sax.ElementTreeContentHandler-class.html#etree,Variable lxml.tests.test_elementtree.CElementTreeTestCase.etree=lxml.tests.test_elementtree.CElementTreeTestCase-class.html#etree,Variable lxml.tests.test_elementtree._ETreeTestCaseBase.etree=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#etree,Variable lxml.tests.test_elementtree._XMLPullParserTest.etree=lxml.tests.test_elementtree._XMLPullParserTest-class.html#etree,Variable lxml.tests.test_io._IOTestCaseBase.etree=lxml.tests.test_io._IOTestCaseBase-class.html#etree"><a title="lxml.etree
 lxml.sax.ElementTreeContentHandler.etree
 lxml.tests.test_elementtree.CElementTreeTestCase.etree
 lxml.tests.test_elementtree._ETreeTestCaseBase.etree
@@ -6441,17 +6441,17 @@ xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink(
 <a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt> </tt>
 <a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">[</tt><tt class="py-number">99</tt><tt class="py-op">:</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt> </tt>
 <a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-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="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</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">list</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="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">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">h</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">a</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">s</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>
-<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">h</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line"> </tt>
-<a name="_ETreeTestCaseBase.test_setslice_single"></a><div id="_ETreeTestCaseBase.test_setslice_single-def"><a name="L2317"></a><tt class="py-lineno">2317</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_single-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_single');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_ETreeTestCaseBase.test_setslice_single-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_single-expanded"><a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">        <tt id="link-2160" class="py-name"><a title="lxml.etree.Element
+<a name="_ETreeTestCaseBase.test_setslice_end_exact"></a><div id="_ETreeTestCaseBase.test_setslice_end_exact-def"><a name="L2317"></a><tt class="py-lineno">2317</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_end_exact-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_end_exact');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact">test_setslice_end_exact</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_ETreeTestCaseBase.test_setslice_end_exact-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_end_exact-expanded"><a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line">        <tt id="link-2160" 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-2160', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2161" class="py-name"><a title="lxml.etree
@@ -6476,81 +6476,87 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
 xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2166', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
 <a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2167" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2167', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2168" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2168', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2169" class="py-name"><a title="lxml.etree.Element
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2169" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2169', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line"> </tt>
+<a name="L2326"></a><tt class="py-lineno">2326</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2170" 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-2169', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</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">f</tt> <tt class="py-op">=</tt> <tt id="link-2170" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2170', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</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">f</tt> <tt class="py-op">=</tt> <tt id="link-2171" 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-2170', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</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">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">]</tt> </tt>
-<a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">        <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-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt> </tt>
-<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-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="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">c</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">list</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="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line"> </tt>
-<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">f</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">a</tt><tt class="py-op">[</tt><tt class="py-number">1</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-name">s</tt> </tt>
-<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-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="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line"> </tt>
-<a name="_ETreeTestCaseBase.test_setslice_tail"></a><div id="_ETreeTestCaseBase.test_setslice_tail-def"><a name="L2340"></a><tt class="py-lineno">2340</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_tail-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_tail">test_setslice_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_ETreeTestCaseBase.test_setslice_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_tail-expanded"><a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line">        <tt id="link-2171" class="py-name"><a title="lxml.etree.ElementTree
-xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2171', 'ElementTree', 'link-11');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2172" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2171', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2328"></a><tt class="py-lineno">2328</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-2172" 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-2172', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'g'</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 class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</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">a</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 class="py-name">s</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>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line"> </tt>
+<a name="_ETreeTestCaseBase.test_setslice_single"></a><div id="_ETreeTestCaseBase.test_setslice_single-def"><a name="L2336"></a><tt class="py-lineno">2336</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_single-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_single');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_ETreeTestCaseBase.test_setslice_single-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_single-expanded"><a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line">        <tt id="link-2173" 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-2173', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2174" 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-2172', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2173" class="py-name"><a title="lxml.etree.ElementTree
-xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2173', 'ElementTree', 'link-11');">ElementTree</a></tt> </tt>
-<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line">        <tt id="link-2174" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2174', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2175" 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-2174', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2175" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2175', 'Element', 'link-44');">Element</a></tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line">        <tt id="link-2176" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2176', 'SubElement', 'link-95');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2177" 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-2175', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2176" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2177', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2178" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2178', 'SubElement', 'link-95');">SubElement</a></tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line"> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2179" 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-2176', 'Element', 'link-44');">Element</a></tt> </tt>
-<a name="L2343"></a><tt class="py-lineno">2343</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-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;B2&lt;c&gt;&lt;/c&gt;C2&lt;d&gt;&lt;/d&gt;D2&lt;e&gt;&lt;/e&gt;E2&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">        <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-2177" class="py-name"><a title="lxml.etree.ElementTree
-xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2177', 'ElementTree', 'link-11');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2178" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2178', 'getroot', 'link-79');">getroot</a></tt><tt class="py-op">(</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">x</tt> <tt class="py-op">=</tt> <tt id="link-2179" 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-2179', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</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">y</tt> <tt class="py-op">=</tt> <tt id="link-2180" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2179', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2180" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2180', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2181" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2181', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line"> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2182" 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-2180', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</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">z</tt> <tt class="py-op">=</tt> <tt id="link-2181" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2182', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2183" 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-2181', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'z'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">        <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-2182" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2182', 'tail', 'link-47');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X2'</tt> </tt>
-<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">        <tt class="py-name">y</tt><tt class="py-op">.</tt><tt id="link-2183" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2183', 'tail', 'link-47');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Y2'</tt> </tt>
-<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">        <tt class="py-name">z</tt><tt class="py-op">.</tt><tt id="link-2184" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2184', 'tail', 'link-47');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Z2'</tt> </tt>
-<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">        <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-number">3</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">z</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 id="link-2185" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase.assertXML" class="py-name" href="#" onclick="return doclink('link-2185', 'assertXML', 'link-218');">assertXML</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L2354"></a><tt class="py-lineno">2354</tt>  <tt class="py-line">            <tt id="link-2186" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2186', '_bytes', 'link-22');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;B2&lt;x&gt;&lt;/x&gt;X2&lt;y&gt;&lt;/y&gt;Y2&lt;z&gt;&lt;/z&gt;Z2&lt;e&gt;&lt;/e&gt;E2&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line"> </tt>
-<a name="_ETreeTestCaseBase.test_setslice_negative"></a><div id="_ETreeTestCaseBase.test_setslice_negative-def"><a name="L2357"></a><tt class="py-lineno">2357</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_negative-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_negative');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_ETreeTestCaseBase.test_setslice_negative-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_negative-expanded"><a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">        <tt id="link-2187" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2183', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line"> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</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">a</tt><tt class="py-op">[</tt><tt class="py-number">0</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">s</tt> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-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="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">            <tt class="py-name">list</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="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line"> </tt>
+<a name="L2353"></a><tt class="py-lineno">2353</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">f</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">a</tt><tt class="py-op">[</tt><tt class="py-number">1</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-name">s</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-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="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line"> </tt>
+<a name="_ETreeTestCaseBase.test_setslice_tail"></a><div id="_ETreeTestCaseBase.test_setslice_tail-def"><a name="L2359"></a><tt class="py-lineno">2359</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_tail-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_tail">test_setslice_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_ETreeTestCaseBase.test_setslice_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_tail-expanded"><a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line">        <tt id="link-2184" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2184', 'ElementTree', 'link-11');">ElementTree</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
+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-2185', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2186" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2186', 'ElementTree', 'link-11');">ElementTree</a></tt> </tt>
+<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line">        <tt id="link-2187" 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-2187', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2188" class="py-name"><a title="lxml.etree
@@ -6562,124 +6568,118 @@ lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="retu
 lxml.objectify.Element
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
 xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2189', 'Element', 'link-44');">Element</a></tt> </tt>
-<a name="L2359"></a><tt class="py-lineno">2359</tt>  <tt class="py-line">        <tt id="link-2190" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2190', 'SubElement', 'link-95');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2191" 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-2191', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2192" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2192', 'SubElement', 'link-95');">SubElement</a></tt> </tt>
-<a name="L2360"></a><tt class="py-lineno">2360</tt>  <tt class="py-line"> </tt>
-<a name="L2361"></a><tt class="py-lineno">2361</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2193" class="py-name"><a title="lxml.etree.Element
+<a name="L2362"></a><tt class="py-lineno">2362</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-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;B2&lt;c&gt;&lt;/c&gt;C2&lt;d&gt;&lt;/d&gt;D2&lt;e&gt;&lt;/e&gt;E2&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">        <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-2190" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2190', 'ElementTree', 'link-11');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2191" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2191', 'getroot', 'link-79');">getroot</a></tt><tt class="py-op">(</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">x</tt> <tt class="py-op">=</tt> <tt id="link-2192" 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-2193', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">b</tt> <tt class="py-op">=</tt> <tt id="link-2194" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2194', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2195" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2195', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2196" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2196', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line"> </tt>
-<a name="L2366"></a><tt class="py-lineno">2366</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-2197" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2192', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</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">y</tt> <tt class="py-op">=</tt> <tt id="link-2193" 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-2197', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</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">y</tt> <tt class="py-op">=</tt> <tt id="link-2198" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2193', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</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">z</tt> <tt class="py-op">=</tt> <tt id="link-2194" 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-2198', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</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">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 class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2372"></a><tt class="py-lineno">2372</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line"> </tt>
-<a name="_ETreeTestCaseBase.test_setslice_negative2"></a><div id="_ETreeTestCaseBase.test_setslice_negative2-def"><a name="L2374"></a><tt class="py-lineno">2374</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_negative2-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_negative2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_ETreeTestCaseBase.test_setslice_negative2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_negative2-expanded"><a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line">        <tt id="link-2199" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2194', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'z'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">        <tt class="py-name">x</tt><tt class="py-op">.</tt><tt id="link-2195" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2195', 'tail', 'link-47');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'X2'</tt> </tt>
+<a name="L2369"></a><tt class="py-lineno">2369</tt>  <tt class="py-line">        <tt class="py-name">y</tt><tt class="py-op">.</tt><tt id="link-2196" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2196', 'tail', 'link-47');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Y2'</tt> </tt>
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">        <tt class="py-name">z</tt><tt class="py-op">.</tt><tt id="link-2197" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2197', 'tail', 'link-47');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Z2'</tt> </tt>
+<a name="L2371"></a><tt class="py-lineno">2371</tt>  <tt class="py-line">        <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-number">3</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">z</tt><tt class="py-op">]</tt> </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 id="link-2198" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase.assertXML" class="py-name" href="#" onclick="return doclink('link-2198', 'assertXML', 'link-218');">assertXML</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">            <tt id="link-2199" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2199', '_bytes', 'link-22');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;B2&lt;x&gt;&lt;/x&gt;X2&lt;y&gt;&lt;/y&gt;Y2&lt;z&gt;&lt;/z&gt;Z2&lt;e&gt;&lt;/e&gt;E2&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2375"></a><tt class="py-lineno">2375</tt>  <tt class="py-line"> </tt>
+<a name="_ETreeTestCaseBase.test_setslice_negative"></a><div id="_ETreeTestCaseBase.test_setslice_negative-def"><a name="L2376"></a><tt class="py-lineno">2376</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_negative-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_negative');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_ETreeTestCaseBase.test_setslice_negative-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_negative-expanded"><a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line">        <tt id="link-2200" 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-2199', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2200" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2200', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2201" 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-2200', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2201" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2201', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2202" 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-2201', 'Element', 'link-44');">Element</a></tt> </tt>
-<a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">        <tt id="link-2202" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2202', 'SubElement', 'link-95');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2203" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2202', 'Element', 'link-44');">Element</a></tt> </tt>
+<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">        <tt id="link-2203" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2203', 'SubElement', 'link-95');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2204" 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-2203', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2204" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2204', 'SubElement', 'link-95');">SubElement</a></tt> </tt>
-<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line"> </tt>
-<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2205" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2204', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2205" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2205', 'SubElement', 'link-95');">SubElement</a></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">a</tt> <tt class="py-op">=</tt> <tt id="link-2206" 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-2205', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2206" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2206', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2207" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2207', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2208" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2208', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2382"></a><tt class="py-lineno">2382</tt>  <tt class="py-line"> </tt>
-<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-2209" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2206', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">b</tt> <tt class="py-op">=</tt> <tt id="link-2207" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2207', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2208" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2208', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2209" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2209', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line"> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-2210" 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-2209', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-2210" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2210', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-2211" 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-2210', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line"> </tt>
-<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">        <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 class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
-<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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line"> </tt>
-<a name="_ETreeTestCaseBase.test_setslice_end"></a><div id="_ETreeTestCaseBase.test_setslice_end-def"><a name="L2391"></a><tt class="py-lineno">2391</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_end-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_end');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end">test_setslice_end</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_ETreeTestCaseBase.test_setslice_end-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_end-expanded"><a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line">        <tt id="link-2211" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2211', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line"> </tt>
+<a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">        <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 class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
+<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-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="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line"> </tt>
+<a name="_ETreeTestCaseBase.test_setslice_negative2"></a><div id="_ETreeTestCaseBase.test_setslice_negative2-def"><a name="L2393"></a><tt class="py-lineno">2393</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_negative2-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_negative2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_ETreeTestCaseBase.test_setslice_negative2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_negative2-expanded"><a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">        <tt id="link-2212" 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-2211', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2212" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2212', 'Element', 'link-44');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2213" 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-2212', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2213" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2213', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2214" 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-2213', 'Element', 'link-44');">Element</a></tt> </tt>
-<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">        <tt id="link-2214" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2214', 'SubElement', 'link-95');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2215" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2214', 'Element', 'link-44');">Element</a></tt> </tt>
+<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line">        <tt id="link-2215" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2215', 'SubElement', 'link-95');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2216" 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-2215', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2216" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2216', 'SubElement', 'link-95');">SubElement</a></tt> </tt>
-<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line"> </tt>
-<a name="L2395"></a><tt class="py-lineno">2395</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2217" 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-2217', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2218" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2218', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2219" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2219', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2220" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2220', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line"> </tt>
-<a name="L2400"></a><tt class="py-lineno">2400</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2221" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2216', 'etree', 'link-9');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2217" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2217', 'SubElement', 'link-95');">SubElement</a></tt> </tt>
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line"> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2218" 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-2221', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</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">f</tt> <tt class="py-op">=</tt> <tt id="link-2222" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2218', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">b</tt> <tt class="py-op">=</tt> <tt id="link-2219" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2219', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2399"></a><tt class="py-lineno">2399</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2220" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2220', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2221" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2221', 'SubElement', 'link-95');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line"> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-2222" 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-2222', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</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">g</tt> <tt class="py-op">=</tt> <tt id="link-2223" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2222', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-2223" 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-2223', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'g'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line"> </tt>
-<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt> </tt>
-<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">        <tt class="py-name">a</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 class="py-name">s</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2223', 'Element', 'link-44');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line"> </tt>
+<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">        <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 class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
 <a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-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="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2407"></a><tt class="py-lineno">2407</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
 <a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">         </tt>
+</div><a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line"> </tt>
 <a name="_ETreeTestCaseBase.test_setslice_empty"></a><div id="_ETreeTestCaseBase.test_setslice_empty-def"><a name="L2410"></a><tt class="py-lineno">2410</tt> <a class="py-toggle" href="#" id="_ETreeTestCaseBase.test_setslice_empty-toggle" onclick="return toggle('_ETreeTestCaseBase.test_setslice_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_empty">test_setslice_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="_ETreeTestCaseBase.test_setslice_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_ETreeTestCaseBase.test_setslice_empty-expanded"><a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">        <tt id="link-2224" class="py-name"><a title="lxml.etree.Element
 lxml.objectify.Element
@@ -11424,7 +11424,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3bf36e153741ae62c4304adc7ed54cdd37965355..e179f2a7be30e564502e42a2057c331b64eb1a01 100644 (file)
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns2">test_setslice_all_replace_reversed_ns2</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_empty">test_setslice_empty</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end">test_setslice_end</a></code>,
+      <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact">test_setslice_end_exact</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single</a></code>,
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dfb70a0da1d0c54caf8d0707bdbae54136338792..4848c6bf60c4b7442eb8e9a9f62229dd3b4ca09a 100644 (file)
@@ -374,7 +374,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dbc1242ed0abe5afcc3e99e8736df0891e2f987d..97264dc739540847e965a7ebbb793fb9319d4e82 100644 (file)
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns2">test_setslice_all_replace_reversed_ns2</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_empty">test_setslice_empty</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end">test_setslice_end</a></code>,
+      <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact">test_setslice_end_exact</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single</a></code>,
@@ -650,7 +651,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 376625104aba0a53fcc7a8b0df66c62eef901db2..4df1c8063390c5e3c4db2b77618b32167f7b0aeb 100644 (file)
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_all_replace_reversed_ns2">test_setslice_all_replace_reversed_ns2</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_empty">test_setslice_empty</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end">test_setslice_end</a></code>,
+      <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_end_exact">test_setslice_end_exact</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative">test_setslice_negative</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_negative2">test_setslice_negative2</a></code>,
       <code><a href="lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#test_setslice_single">test_setslice_single</a></code>,
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 391992b031530e5e6106d4d134b44d72c7cdd110..41e21a4afe4ae9e516d51e493a0977ae9b00c010 100644 (file)
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="test_setslice_single"></a><span class="summary-sig-name">test_setslice_single</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="test_setslice_end"></a><span class="summary-sig-name">test_setslice_end</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_single">source&nbsp;code</a></span>
+            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_end">source&nbsp;code</a></span>
             
           </td>
         </tr>
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="test_setslice_tail"></a><span class="summary-sig-name">test_setslice_tail</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="test_setslice_end_exact"></a><span class="summary-sig-name">test_setslice_end_exact</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_tail">source&nbsp;code</a></span>
+            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_end_exact">source&nbsp;code</a></span>
             
           </td>
         </tr>
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="test_setslice_negative"></a><span class="summary-sig-name">test_setslice_negative</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="test_setslice_single"></a><span class="summary-sig-name">test_setslice_single</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_negative">source&nbsp;code</a></span>
+            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_single">source&nbsp;code</a></span>
             
           </td>
         </tr>
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="test_setslice_negative2"></a><span class="summary-sig-name">test_setslice_negative2</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="test_setslice_tail"></a><span class="summary-sig-name">test_setslice_tail</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_negative2">source&nbsp;code</a></span>
+            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_tail">source&nbsp;code</a></span>
             
           </td>
         </tr>
     </td><td class="summary">
       <table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
-          <td><span class="summary-sig"><a name="test_setslice_end"></a><span class="summary-sig-name">test_setslice_end</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td><span class="summary-sig"><a name="test_setslice_negative"></a><span class="summary-sig-name">test_setslice_negative</span>(<span class="summary-sig-arg">self</span>)</span></td>
           <td align="right" valign="top">
-            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_end">source&nbsp;code</a></span>
+            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_negative">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_setslice_negative2"></a><span class="summary-sig-name">test_setslice_negative2</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_elementtree-pysrc.html#_ETreeTestCaseBase.test_setslice_negative2">source&nbsp;code</a></span>
             
           </td>
         </tr>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4ab908710c27002923a5a51484f3de0afa662b62..a95ef3237e54d749bed44b365960c3ca0bf69c28 100644 (file)
@@ -494,7 +494,7 @@ unittest.case.TestCase --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 51bb8b1f6bafdb6d4e806dca3a5912338546c638..4fd9eb0f1bddb3fc78685b71e8332ad747b94fd7 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 022b0e3e5eedae21f1b486f20501bf7d44df2654..0261721ee700675b1caa5be0f2d1f0309c0e582b 100644 (file)
@@ -266,7 +266,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index aaf2d9f10a6761737129879cc1f241d66e645200..b5d840f2c758089851ee4ec3f650e2f253547362 100644 (file)
@@ -416,7 +416,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f76f44256b2e3feaeecdd59c21bec2f721ceb67f..dbc41b11a168b9a88425db163ad21fcde284d495 100644 (file)
@@ -275,7 +275,7 @@ test_elementtree</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b4d4549cce6c12f3d523b8e80759b15f26fd903a..28c0bda957d9821ef560cb8c99ca47c8d60d2ead 100644 (file)
@@ -864,8 +864,10 @@ lxml.etree._Element.get
 lxml.etree._IDDict.get
 lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-238', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr"</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="ETreeOnlyTestCase.test_attrib_and_keywords"></a><div id="ETreeOnlyTestCase.test_attrib_and_keywords-def"><a name="L235"></a><tt class="py-lineno"> 235</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attrib_and_keywords-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attrib_and_keywords');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attrib_and_keywords">test_attrib_and_keywords</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attrib_and_keywords-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attrib_and_keywords-expanded"><a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt id="link-239" class="py-name"><a title="lxml.etree.Element
+<a name="ETreeOnlyTestCase.test_attribute_set_nonstring"></a><div id="ETreeOnlyTestCase.test_attribute_set_nonstring-def"><a name="L235"></a><tt class="py-lineno"> 235</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_set_nonstring-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_set_nonstring');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set_nonstring">test_attribute_set_nonstring</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attribute_set_nonstring-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_set_nonstring-expanded"><a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree accepts arbitrary attribute values</tt> </tt>
+<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line">        <tt class="py-comment"># lxml.etree allows only strings</tt> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">        <tt id="link-239" 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-239', 'Element', 'link-64');">Element</a></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
@@ -877,1142 +879,1140 @@ lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="retu
 lxml.objectify.Element
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.Element
 xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-241', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"> </tt>
-<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line">        <tt id="link-242" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-242', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-243" class="py-name"><a title="lxml.etree.Element
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"> </tt>
+<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">        <tt id="link-242" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-242', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-243" 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-243', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line">        <tt id="link-244" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-244', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lxml.etree._Element.set
+<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">        <tt id="link-244" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-244', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lxml.etree._Element.set
 lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-245', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST"</tt><tt class="py-op">)</tt> </tt>
-<a name="L240"></a><tt class="py-lineno"> 240</tt>  <tt class="py-line">        <tt class="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-246" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-246', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-247" class="py-name"><a title="lxml.etree._Element.attrib
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">        <tt class="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-246" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-246', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-247" 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-247', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</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 id="link-248" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-248', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-249" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-249', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"newattr"</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_attrib_and_keywords"></a><div id="ETreeOnlyTestCase.test_attrib_and_keywords-def"><a name="L245"></a><tt class="py-lineno"> 245</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attrib_and_keywords-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attrib_and_keywords');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attrib_and_keywords">test_attrib_and_keywords</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attrib_and_keywords-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attrib_and_keywords-expanded"><a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line">        <tt id="link-250" 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-250', 'Element', 'link-64');">Element</a></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
+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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-252" 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-252', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line"> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">        <tt id="link-253" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-253', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-254" 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-254', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line">        <tt id="link-255" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-255', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-256" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-256', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST"</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">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-257" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-257', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-247', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line"> </tt>
-<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-248" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-258', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line"> </tt>
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-259" 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-248', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root2"</tt><tt class="py-op">,</tt> <tt id="link-249" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-249', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-259', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root2"</tt><tt class="py-op">,</tt> <tt id="link-260" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-260', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-261" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-250', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-name">attr2</tt><tt class="py-op">=</tt><tt class="py-string">'TOAST'</tt><tt class="py-op">)</tt> </tt>
-<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line">        <tt class="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 class="py-name">root2</tt><tt class="py-op">.</tt><tt id="link-251" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-261', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-name">attr2</tt><tt class="py-op">=</tt><tt class="py-string">'TOAST'</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">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 class="py-name">root2</tt><tt class="py-op">.</tt><tt id="link-262" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-251', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TOAST"</tt><tt class="py-op">,</tt> <tt class="py-name">root2</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-262', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr"</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TOAST"</tt><tt class="py-op">,</tt> <tt class="py-name">root2</tt><tt class="py-op">.</tt><tt id="link-263" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-252', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr2"</tt><tt class="py-op">]</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">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-253" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-253', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-254" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-263', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr2"</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-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-264" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-264', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-265" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-254', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-255" class="py-name"><a title="lxml.etree._Attrib.get
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-265', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-266" 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-255', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr2"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_attrib_order"></a><div id="ETreeOnlyTestCase.test_attrib_order-def"><a name="L247"></a><tt class="py-lineno"> 247</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attrib_order-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attrib_order');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attrib_order">test_attrib_order</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attrib_order-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attrib_order-expanded"><a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line">        <tt id="link-256" class="py-name"><a title="lxml.etree.Element
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-266', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr2"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_attrib_order"></a><div id="ETreeOnlyTestCase.test_attrib_order-def"><a name="L257"></a><tt class="py-lineno"> 257</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attrib_order-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attrib_order');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attrib_order">test_attrib_order</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attrib_order-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attrib_order-expanded"><a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">        <tt id="link-267" 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-256', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-257" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-267', 'Element', 'link-64');">Element</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.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-257', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-258" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-268', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-269" 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-258', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"> </tt>
-<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line">        <tt id="link-259" 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" class="py-name" href="#" onclick="return doclink('link-269', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line"> </tt>
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">        <tt id="link-270" 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-259', 'keys', 'link-259');">keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"attr%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">        <tt id="link-260" 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.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-270', 'keys', 'link-270');">keys</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"attr%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">        <tt id="link-271" 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-260', 'values', 'link-260');">values</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"TEST-%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">        <tt id="link-261" 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._IDDict.values" class="py-name" href="#" onclick="return doclink('link-271', 'values', 'link-271');">values</a></tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"TEST-%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">        <tt id="link-272" 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-261', 'items', 'link-261');">items</a></tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">zip</tt><tt class="py-op">(</tt><tt id="link-262" class="py-name"><a title="lxml.etree._Attrib.keys
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-272', 'items', 'link-272');">items</a></tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">zip</tt><tt class="py-op">(</tt><tt id="link-273" 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-262', 'keys', 'link-259');">keys</a></tt><tt class="py-op">,</tt> <tt id="link-263" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-273', 'keys', 'link-270');">keys</a></tt><tt class="py-op">,</tt> <tt id="link-274" 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-263', 'values', 'link-260');">values</a></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>
-<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line">        <tt id="link-264" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-264', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-265" class="py-name"><a title="lxml.etree.Element
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-274', 'values', 'link-271');">values</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line"> </tt>
+<a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line">        <tt id="link-275" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-275', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-276" 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-265', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt id="link-266" 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
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-276', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</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">for</tt> <tt class="py-name">key</tt><tt class="py-op">,</tt> <tt id="link-277" 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-266', 'value', 'link-266');">value</a></tt> <tt class="py-keyword">in</tt> <tt id="link-267" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-277', 'value', 'link-277');">value</a></tt> <tt class="py-keyword">in</tt> <tt id="link-278" 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-267', 'items', 'link-261');">items</a></tt><tt class="py-op">:</tt> </tt>
-<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">            <tt id="link-268" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-268', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-269" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-269', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt id="link-270" class="py-name"><a title="lxml.html.CheckboxGroup.value
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-278', 'items', 'link-272');">items</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-279" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-279', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-280" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-280', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-name">key</tt><tt class="py-op">,</tt> <tt id="link-281" 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-270', 'value', 'link-266');">value</a></tt><tt class="py-op">)</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-271" class="py-name"><a title="lxml.etree._Attrib.keys
+lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclink('link-281', 'value', 'link-277');">value</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-282" 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-271', 'keys', 'link-259');">keys</a></tt><tt class="py-op">,</tt> <tt id="link-272" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-272', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-273" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-282', 'keys', 'link-270');">keys</a></tt><tt class="py-op">,</tt> <tt id="link-283" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-283', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-273', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-274" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-284', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-285" 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-274', 'keys', 'link-259');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line">        <tt 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="lxml.etree._Attrib.values
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-285', 'keys', 'link-270');">keys</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-286" 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-275', 'values', 'link-260');">values</a></tt><tt class="py-op">,</tt> <tt id="link-276" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-276', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-277" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-286', 'values', 'link-271');">values</a></tt><tt class="py-op">,</tt> <tt id="link-287" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-287', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-288" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-277', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-278" class="py-name"><a title="lxml.etree._Attrib.values
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-288', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-289" 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-278', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line"> </tt>
-<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-279" class="py-name"><a title="lxml.etree.Element
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-289', 'values', 'link-271');">values</a></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-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-290" 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-279', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root2"</tt><tt class="py-op">,</tt> <tt id="link-280" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-280', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-281" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-290', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root2"</tt><tt class="py-op">,</tt> <tt id="link-291" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-291', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-292" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-281', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">                        <tt class="py-name">attr_99</tt><tt class="py-op">=</tt><tt class="py-string">'TOAST-1'</tt><tt class="py-op">,</tt> <tt class="py-name">attr_98</tt><tt class="py-op">=</tt><tt class="py-string">'TOAST-2'</tt><tt class="py-op">)</tt> </tt>
-<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">        <tt 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">'attr_98'</tt><tt class="py-op">,</tt> <tt class="py-string">'attr_99'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt id="link-282" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-292', 'attrib', 'link-219');">attrib</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-name">attr_99</tt><tt class="py-op">=</tt><tt class="py-string">'TOAST-1'</tt><tt class="py-op">,</tt> <tt class="py-name">attr_98</tt><tt class="py-op">=</tt><tt class="py-string">'TOAST-2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">        <tt 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">'attr_98'</tt><tt class="py-op">,</tt> <tt class="py-string">'attr_99'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt id="link-293" 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-282', 'keys', 'link-259');">keys</a></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">root2</tt><tt class="py-op">.</tt><tt id="link-283" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-293', 'keys', 'link-270');">keys</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">root2</tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-283', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-284" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-294', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-295" 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-284', 'keys', 'link-259');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-string">'TOAST-2'</tt><tt class="py-op">,</tt> <tt class="py-string">'TOAST-1'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt id="link-285" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-295', 'keys', 'link-270');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</tt><tt class="py-string">'TOAST-2'</tt><tt class="py-op">,</tt> <tt class="py-string">'TOAST-1'</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt id="link-296" 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-285', 'values', 'link-260');">values</a></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">root2</tt><tt class="py-op">.</tt><tt id="link-286" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-296', 'values', 'link-271');">values</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line">                         <tt class="py-name">root2</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-286', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-287" class="py-name"><a title="lxml.etree._Attrib.values
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-297', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-298" 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-287', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line"> </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">assertEqual</tt><tt class="py-op">(</tt><tt id="link-288" class="py-name"><a title="lxml.etree._Attrib.keys
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-298', 'values', 'link-271');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-299" 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-288', 'keys', 'link-259');">keys</a></tt><tt class="py-op">,</tt> <tt id="link-289" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-289', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-290" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-299', 'keys', 'link-270');">keys</a></tt><tt class="py-op">,</tt> <tt id="link-300" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-300', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-301" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-290', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-291" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-301', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-302" 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-291', 'keys', 'link-259');">keys</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-292" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-302', 'keys', 'link-270');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-303" 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-292', 'values', 'link-260');">values</a></tt><tt class="py-op">,</tt> <tt id="link-293" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-293', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-294" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-303', 'values', 'link-271');">values</a></tt><tt class="py-op">,</tt> <tt id="link-304" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-304', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-305" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-294', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-295" class="py-name"><a title="lxml.etree._Attrib.values
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-305', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-306" 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-295', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_attribute_set_invalid"></a><div id="ETreeOnlyTestCase.test_attribute_set_invalid-def"><a name="L270"></a><tt class="py-lineno"> 270</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_set_invalid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_set_invalid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set_invalid">test_attribute_set_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="ETreeOnlyTestCase.test_attribute_set_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_set_invalid-expanded"><a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree accepts arbitrary attribute values</tt> </tt>
-<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line">        <tt class="py-comment"># lxml.etree allows only strings</tt> </tt>
-<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line">        <tt id="link-296" class="py-name"><a title="lxml.etree.Element
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-306', 'values', 'link-271');">values</a></tt><tt class="py-op">(</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="ETreeOnlyTestCase.test_attribute_set_invalid"></a><div id="ETreeOnlyTestCase.test_attribute_set_invalid-def"><a name="L280"></a><tt class="py-lineno"> 280</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_set_invalid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_set_invalid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set_invalid">test_attribute_set_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="ETreeOnlyTestCase.test_attribute_set_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_set_invalid-expanded"><a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree accepts arbitrary attribute values</tt> </tt>
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-comment"># lxml.etree allows only strings</tt> </tt>
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">        <tt id="link-307" 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-296', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-297" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-307', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-308" 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-297', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-298" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-308', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-309" 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-298', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line">        <tt id="link-299" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-299', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-300" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-309', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt id="link-310" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-310', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-311" 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-300', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L275"></a><tt class="py-lineno"> 275</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 id="link-301" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-301', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-302" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-302', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"newattr"</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
-<a name="L276"></a><tt class="py-lineno"> 276</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 id="link-303" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-303', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-304" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-304', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"newattr"</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_attributes"></a><div id="ETreeOnlyTestCase.test_strip_attributes-def"><a name="L278"></a><tt class="py-lineno"> 278</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_attributes-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes">test_strip_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_strip_attributes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_attributes-expanded"><a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">        <tt id="link-305" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-311', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</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 id="link-312" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-312', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-313" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-313', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"newattr"</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</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 id="link-314" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-314', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-315" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-315', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"newattr"</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_attributes"></a><div id="ETreeOnlyTestCase.test_strip_attributes-def"><a name="L288"></a><tt class="py-lineno"> 288</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_attributes-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes">test_strip_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_strip_attributes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_attributes-expanded"><a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">        <tt id="link-316" 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-305', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-306" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-316', 'XML', 'link-212');">XML</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
 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-306', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-307" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-317', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-318" 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-307', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt id="link-308" 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-308', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-309" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-309', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test a="5" b="10" c="20"&gt;&lt;x a="4" b="2"/&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line"> </tt>
-<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt id="link-310" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-310', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-311" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-318', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">        <tt id="link-319" 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-319', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test a="5" b="10" c="20"&gt;&lt;x a="4" b="2"/&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">        <tt id="link-321" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-321', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-322" 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-311', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-312" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-312', 'xml', 'link-308');">xml</a></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 id="link-313" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-322', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-323" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-323', 'xml', 'link-319');">xml</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-name">self</tt><tt class="py-op">.</tt><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-313', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-314" 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-314', 'strip_attributes', 'link-314');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-315" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-315', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-316" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-316', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test b="10" c="20"&gt;&lt;x b="2"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-317" class="py-name" targets="Method lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement()=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement,Method lxml.tests.test_etree.ETreeOnlyTestCase._writeElement()=lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_writeElement"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-317', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-318" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-318', 'root', 'link-215');">root</a></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>
-<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">        <tt id="link-319" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-319', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-320" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-324', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-325" 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-325', 'strip_attributes', 'link-325');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-326" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-326', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-327" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-327', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test b="10" c="20"&gt;&lt;x b="2"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-328" class="py-name" targets="Method lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement()=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#_writeElement,Method lxml.tests.test_etree.ETreeOnlyTestCase._writeElement()=lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_writeElement"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-328', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-329" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-329', 'root', 'link-215');">root</a></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>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">        <tt id="link-330" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-330', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-331" 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-320', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-321" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-321', 'xml', 'link-308');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-322" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-331', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-332" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-332', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-333" 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-322', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-323" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-323', 'strip_attributes', 'link-314');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-324" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-324', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-325" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-325', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test a="5"&gt;&lt;x a="4"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-326" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-326', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-327" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-327', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_attributes_ns"></a><div id="ETreeOnlyTestCase.test_strip_attributes_ns-def"><a name="L292"></a><tt class="py-lineno"> 292</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_attributes_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_attributes_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes_ns">test_strip_attributes_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="ETreeOnlyTestCase.test_strip_attributes_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_attributes_ns-expanded"><a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">        <tt id="link-328" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-333', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-334" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-334', 'strip_attributes', 'link-325');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-335" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-335', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-336" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-336', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test a="5"&gt;&lt;x a="4"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-337', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-338" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-338', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_attributes_ns"></a><div id="ETreeOnlyTestCase.test_strip_attributes_ns-def"><a name="L302"></a><tt class="py-lineno"> 302</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_attributes_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_attributes_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_attributes_ns">test_strip_attributes_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="ETreeOnlyTestCase.test_strip_attributes_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_attributes_ns-expanded"><a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">        <tt id="link-339" 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-328', 'XML', 'link-212');">XML</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
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-339', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-340" 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-329', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-330" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-340', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-341" 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-330', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt id="link-331" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-331', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" a="6" b="10" c="20" n:a="5"&gt;&lt;x a="4" n:b="2"/&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line"> </tt>
-<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">        <tt id="link-333" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-333', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-334" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-341', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt id="link-342" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-342', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" a="6" b="10" c="20" n:a="5"&gt;&lt;x a="4" n:b="2"/&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line"> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">        <tt id="link-344" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-344', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-345" 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-334', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-335" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-335', 'xml', 'link-308');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-336" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-345', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-346" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-346', 'xml', 'link-319');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-347" 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-336', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-337" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-337', 'strip_attributes', 'link-314');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-338" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-338', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-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="L299"></a><tt class="py-lineno"> 299</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" b="10" c="20" n:a="5"&gt;&lt;x n:b="2"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-340" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-340', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-341" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-341', 'root', 'link-215');">root</a></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>
-<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">        <tt id="link-342" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-342', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-343" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-347', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-348" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-348', 'strip_attributes', 'link-325');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-349" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-349', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-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="L309"></a><tt class="py-lineno"> 309</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" b="10" c="20" n:a="5"&gt;&lt;x n:b="2"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-351" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-351', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-352" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-352', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line"> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line">        <tt id="link-353" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-353', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-354" 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-343', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-344" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-344', 'xml', 'link-308');">xml</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-name">self</tt><tt class="py-op">.</tt><tt id="link-345" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-354', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-355" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-355', 'xml', 'link-319');">xml</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">self</tt><tt class="py-op">.</tt><tt id="link-356" 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-345', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-346" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-346', 'strip_attributes', 'link-314');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-347" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-347', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{http://test/ns}a'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-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="L305"></a><tt class="py-lineno"> 305</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" a="6" b="10"&gt;&lt;x a="4" n:b="2"&gt;&lt;/x&gt;&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-349" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-349', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-350" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-350', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line"> </tt>
-<a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">        <tt id="link-351" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-351', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-352" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-356', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-357" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-357', 'strip_attributes', 'link-325');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-358" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-358', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{http://test/ns}a'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-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="L315"></a><tt class="py-lineno"> 315</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" a="6" b="10"&gt;&lt;x a="4" n:b="2"&gt;&lt;/x&gt;&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-360" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-360', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-361" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-361', 'root', 'link-215');">root</a></tt><tt class="py-op">)</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 id="link-362" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-362', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-363" 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-352', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-353" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-353', 'xml', 'link-308');">xml</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-name">self</tt><tt class="py-op">.</tt><tt id="link-354" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-363', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-364" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-364', 'xml', 'link-319');">xml</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">self</tt><tt class="py-op">.</tt><tt id="link-365" 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-354', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-355" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-355', 'strip_attributes', 'link-314');">strip_attributes</a></tt><tt class="py-op">(</tt><tt id="link-356" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-356', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{http://test/ns}*'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L311"></a><tt class="py-lineno"> 311</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" a="6" b="10" c="20"&gt;&lt;x a="4"&gt;&lt;/x&gt;&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-358" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-358', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-359" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-359', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_elements"></a><div id="ETreeOnlyTestCase.test_strip_elements-def"><a name="L314"></a><tt class="py-lineno"> 314</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_elements-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_elements');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements">test_strip_elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_strip_elements-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_elements-expanded"><a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line">        <tt id="link-360" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-365', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-366" class="py-name"><a title="lxml.etree.strip_attributes" class="py-name" href="#" onclick="return doclink('link-366', 'strip_attributes', 'link-325');">strip_attributes</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{http://test/ns}*'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line">            <tt id="link-368" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-368', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test xmlns:n="http://test/ns" a="6" b="10" c="20"&gt;&lt;x a="4"&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-369" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-369', '_writeElement', 'link-328');">_writeElement</a></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-215');">root</a></tt><tt class="py-op">)</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="ETreeOnlyTestCase.test_strip_elements"></a><div id="ETreeOnlyTestCase.test_strip_elements-def"><a name="L324"></a><tt class="py-lineno"> 324</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_elements-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_elements');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements">test_strip_elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_strip_elements-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_elements-expanded"><a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt id="link-371" 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-360', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-361" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-371', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-372" 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-361', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-362" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-372', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-373" 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-362', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line">        <tt id="link-363" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-363', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-364" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-364', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;/a&gt;&lt;x&gt;&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;&lt;/x&gt;&lt;/test&gt;'</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 id="link-365" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-365', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-366" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-373', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">        <tt id="link-374" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-374', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-375" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-375', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;/a&gt;&lt;x&gt;&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;&lt;/x&gt;&lt;/test&gt;'</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 id="link-376" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-376', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-377" 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-366', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-367" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-367', 'xml', 'link-308');">xml</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">self</tt><tt class="py-op">.</tt><tt id="link-368" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-377', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-378" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-378', 'xml', 'link-319');">xml</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 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-368', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-369" class="py-name" targets="Function lxml.etree.strip_elements()=lxml.etree-module.html#strip_elements"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-369', 'strip_elements', 'link-369');">strip_elements</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'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">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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-371', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;x&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-372" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-372', '_writeElement', 'link-317');">_writeElement</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line"> </tt>
-<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">        <tt id="link-374" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-374', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-375" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-379', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-380" class="py-name" targets="Function lxml.etree.strip_elements()=lxml.etree-module.html#strip_elements"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-380', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-381" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-381', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-382" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-382', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;x&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-383" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-383', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-384" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-384', 'root', 'link-215');">root</a></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>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">        <tt id="link-385" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-385', 'root', 'link-215');">root</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-375', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-376" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-376', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-377" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-386', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-387" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-387', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-388" 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-377', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-378" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-378', 'strip_elements', 'link-369');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-379" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-379', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'X'</tt><tt class="py-op">,</tt> <tt class="py-string">'Y'</tt><tt class="py-op">,</tt> <tt class="py-string">'Z'</tt><tt class="py-op">)</tt> </tt>
-<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-380" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-380', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;a&gt;&lt;/a&gt;&lt;x&gt;&lt;a&gt;&lt;/a&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-381" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-381', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-382" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-382', 'root', 'link-215');">root</a></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>
-<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">        <tt id="link-383" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-383', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-384" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-388', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-389" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-389', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-390" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-390', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'X'</tt><tt class="py-op">,</tt> <tt class="py-string">'Y'</tt><tt class="py-op">,</tt> <tt class="py-string">'Z'</tt><tt class="py-op">)</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-391', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;a&gt;&lt;/a&gt;&lt;x&gt;&lt;a&gt;&lt;/a&gt;&lt;/x&gt;&lt;/test&gt;'</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">self</tt><tt class="py-op">.</tt><tt id="link-392" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-392', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-393" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-393', 'root', 'link-215');">root</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>
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">        <tt id="link-394" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-394', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-395" 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-384', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-385" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-385', 'xml', 'link-308');">xml</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 id="link-386" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-395', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-396" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-396', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-397" 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-386', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-387" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-387', 'strip_elements', 'link-369');">strip_elements</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-389', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;x&gt;&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;/x&gt;&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-390" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-390', '_writeElement', 'link-317');">_writeElement</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_elements_ns"></a><div id="ETreeOnlyTestCase.test_strip_elements_ns-def"><a name="L333"></a><tt class="py-lineno"> 333</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_elements_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_elements_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements_ns">test_strip_elements_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="ETreeOnlyTestCase.test_strip_elements_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_elements_ns-expanded"><a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt id="link-392" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-397', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-398" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-398', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-399" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-399', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-400" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-400', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;x&gt;&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;&lt;/x&gt;&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-401', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-402" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-402', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_elements_ns"></a><div id="ETreeOnlyTestCase.test_strip_elements_ns-def"><a name="L343"></a><tt class="py-lineno"> 343</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_elements_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_elements_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_elements_ns">test_strip_elements_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="ETreeOnlyTestCase.test_strip_elements_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_elements_ns-expanded"><a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">        <tt id="link-403" 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-392', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-393" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-403', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-404" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-394" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-404', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-405" 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-394', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt id="link-395" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-395', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-396" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-396', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"/&gt;C&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b xmlns="urn:a"/&gt;BT&lt;c xmlns="urn:x"/&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line"> </tt>
-<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">        <tt id="link-397" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-397', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-398" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-405', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">        <tt id="link-406" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-406', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-407" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-407', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"/&gt;C&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b xmlns="urn:a"/&gt;BT&lt;c xmlns="urn:x"/&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line"> </tt>
+<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">        <tt id="link-408" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-408', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-409" 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-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-399" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-399', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-400" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-409', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-410" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-410', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">self</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-400', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-401" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-401', 'strip_elements', 'link-369');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-402" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-402', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-403', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;C&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;/x&gt;XT&lt;/test&gt;'</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">self</tt><tt class="py-op">.</tt><tt id="link-404" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-404', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-405" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-405', 'root', 'link-215');">root</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>
-<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">        <tt id="link-406" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-406', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-407" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-412" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-412', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-413" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-413', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-414" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-414', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;C&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-415" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-415', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-416" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-416', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">        <tt id="link-417" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-417', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-418" 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-407', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-408" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-408', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-409" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-418', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-419" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-419', 'xml', 'link-319');">xml</a></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 id="link-420" 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-409', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-410" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-410', 'strip_elements', 'link-369');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-411" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-411', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-412" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-412', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;C&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-413" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-413', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-414" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-414', 'root', 'link-215');">root</a></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>
-<a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">        <tt id="link-415" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-415', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-416" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-420', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-421" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-421', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-422" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-422', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-423" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-423', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;C&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-424" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-424', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-425" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-425', 'root', 'link-215');">root</a></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 id="link-426" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-426', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-427" 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-416', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-417" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-417', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-418" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-427', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-428" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-428', 'xml', 'link-319');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-429" 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-418', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-419" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-419', 'strip_elements', 'link-369');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-420" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-420', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}*'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-421" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-421', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;x&gt;X&lt;a&gt;A&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-422" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-422', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-423" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-423', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"> </tt>
-<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line">        <tt id="link-424" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-424', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-425" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-429', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-430" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-430', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-431" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-431', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}*'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-432" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-432', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;x&gt;X&lt;a&gt;A&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-433" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-433', '_writeElement', 'link-328');">_writeElement</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line"> </tt>
+<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">        <tt id="link-435" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-435', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-436" 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-425', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-426" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-426', 'xml', 'link-308');">xml</a></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 id="link-427" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-436', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-437" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-437', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-438" 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-427', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-428" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-428', 'strip_elements', 'link-369');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-429" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-429', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}*'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-430" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-430', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTAT&lt;x&gt;X&lt;a&gt;ABT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-431" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-431', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-432" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-432', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_tags"></a><div id="ETreeOnlyTestCase.test_strip_tags-def"><a name="L357"></a><tt class="py-lineno"> 357</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags">test_strip_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_strip_tags-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags-expanded"><a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line">        <tt id="link-433" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-438', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-439" class="py-name"><a title="lxml.etree.strip_elements" class="py-name" href="#" onclick="return doclink('link-439', 'strip_elements', 'link-380');">strip_elements</a></tt><tt class="py-op">(</tt><tt id="link-440" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-440', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}*'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">False</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">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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-441', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTAT&lt;x&gt;X&lt;a&gt;ABT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-442" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-442', '_writeElement', 'link-328');">_writeElement</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_tags"></a><div id="ETreeOnlyTestCase.test_strip_tags-def"><a name="L367"></a><tt class="py-lineno"> 367</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags">test_strip_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_strip_tags-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags-expanded"><a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">        <tt id="link-444" 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-433', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-434" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-444', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-445" 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-434', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-435" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-445', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-446" 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-435', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line">        <tt id="link-436" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-436', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-437" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-437', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;a&gt;A&lt;b&gt;B&lt;c/&gt;CT&lt;/b&gt;BT&lt;/a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b/&gt;BT&lt;c/&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line"> </tt>
-<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line">        <tt id="link-438" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-438', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-439" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-446', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line">        <tt id="link-447" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-447', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-448" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-448', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;a&gt;A&lt;b&gt;B&lt;c/&gt;CT&lt;/b&gt;BT&lt;/a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b/&gt;BT&lt;c/&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">        <tt id="link-449" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-449', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-450" 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-439', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-440" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-440', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L362"></a><tt class="py-lineno"> 362</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-441" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-450', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-451" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-451', 'xml', 'link-319');">xml</a></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 id="link-452" 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-441', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-442" class="py-name" targets="Function lxml.etree.strip_tags()=lxml.etree-module.html#strip_tags"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-442', 'strip_tags', 'link-442');">strip_tags</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-444', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTA&lt;b&gt;B&lt;c&gt;&lt;/c&gt;CT&lt;/b&gt;BTAT&lt;x&gt;XA&lt;b&gt;&lt;/b&gt;BT&lt;c&gt;&lt;/c&gt;CTAT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-445" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-445', '_writeElement', 'link-317');">_writeElement</a></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-215');">root</a></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 id="link-447" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-447', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-448" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-452', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-453" class="py-name" targets="Function lxml.etree.strip_tags()=lxml.etree-module.html#strip_tags"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-453', 'strip_tags', 'link-453');">strip_tags</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-455" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-455', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTA&lt;b&gt;B&lt;c&gt;&lt;/c&gt;CT&lt;/b&gt;BTAT&lt;x&gt;XA&lt;b&gt;&lt;/b&gt;BT&lt;c&gt;&lt;/c&gt;CTAT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-456" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-456', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-457" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-457', 'root', 'link-215');">root</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>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">        <tt id="link-458" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-458', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-459" 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-448', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-449" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-449', 'xml', 'link-308');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-450" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-459', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-460" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-460', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-461" 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-450', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-451" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-451', 'strip_tags', 'link-442');">strip_tags</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'X'</tt><tt class="py-op">,</tt> <tt class="py-string">'Y'</tt><tt class="py-op">,</tt> <tt class="py-string">'Z'</tt><tt class="py-op">)</tt> </tt>
-<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-453" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-453', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;a&gt;ABCTBT&lt;/a&gt;AT&lt;x&gt;X&lt;a&gt;ABTCT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-454" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-454', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-455" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-455', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"> </tt>
-<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line">        <tt id="link-456" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-456', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-457" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-461', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-462" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-462', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-463" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-463', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'X'</tt><tt class="py-op">,</tt> <tt class="py-string">'Y'</tt><tt class="py-op">,</tt> <tt class="py-string">'Z'</tt><tt class="py-op">)</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-464" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-464', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;a&gt;ABCTBT&lt;/a&gt;AT&lt;x&gt;X&lt;a&gt;ABTCT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-465" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-465', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-466" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-466', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line"> </tt>
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">        <tt id="link-467" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-467', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-468" 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-457', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-458" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-458', 'xml', 'link-308');">xml</a></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 id="link-459" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-468', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-469" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-469', 'xml', 'link-319');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-470" 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-459', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-460" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-460', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-461" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-461', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-462" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-462', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;a&gt;A&lt;b&gt;BCT&lt;/b&gt;BT&lt;/a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b&gt;&lt;/b&gt;BTCT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-463" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-463', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-464" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-464', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_tags_pi_comment"></a><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment-def"><a name="L376"></a><tt class="py-lineno"> 376</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_pi_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_pi_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment">test_strip_tags_pi_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment-expanded"><a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">        <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-470', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-471', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-472" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-472', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-473" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-473', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;a&gt;A&lt;b&gt;BCT&lt;/b&gt;BT&lt;/a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b&gt;&lt;/b&gt;BTCT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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 id="link-474" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-474', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-475" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-475', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_tags_pi_comment"></a><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment-def"><a name="L386"></a><tt class="py-lineno"> 386</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_pi_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_pi_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment">test_strip_tags_pi_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment-expanded"><a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">        <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-465', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-466" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-476', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-477" 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-466', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-467" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-477', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-478" 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-467', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">        <tt id="link-468" class="py-name" targets="Function lxml.etree.PI()=lxml.etree-module.html#PI"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-468', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-469" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-478', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">        <tt id="link-479" class="py-name" targets="Function lxml.etree.PI()=lxml.etree-module.html#PI"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-479', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-469', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
-<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">        <tt id="link-470" 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-470', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-471" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-480', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line">        <tt id="link-481" 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-481', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-482" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-472" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-472', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">        <tt id="link-473" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-473', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-474" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-474', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</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 id="link-475" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-475', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-476" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-482', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-483', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line">        <tt id="link-484" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-484', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-485" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-485', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</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 id="link-486" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-486', 'root', 'link-215');">root</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-476', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-477" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-477', 'xml', 'link-308');">xml</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">self</tt><tt class="py-op">.</tt><tt id="link-478" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-487', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-488" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-488', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">        <tt class="py-name">self</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-478', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-479" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-479', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-480" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-480', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-481" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-481', 'PI', 'link-468');">PI</a></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 id="link-482" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-482', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-483" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-483', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-484" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-484', 'root', 'link-215');">root</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>
-<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line">        <tt id="link-485" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-485', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-486" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-489', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-490" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-490', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-491" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-491', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-492" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-492', 'PI', 'link-479');">PI</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-493" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-493', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-494" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-494', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-495" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-495', 'root', 'link-215');">root</a></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>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">        <tt id="link-496" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-496', 'root', 'link-215');">root</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-486', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-487" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-487', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-488" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-497', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-498" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-498', 'xml', 'link-319');">xml</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">self</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-488', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-489" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-489', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-490" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-490', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-491" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-491', 'Comment', 'link-470');">Comment</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-492" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-492', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-493" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-493', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-494" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-494', 'root', 'link-215');">root</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 id="link-495" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-495', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-496" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-499', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-500" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-500', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-501" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-501', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-502" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-502', 'Comment', 'link-481');">Comment</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-503" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-503', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-504', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-505" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-505', 'root', 'link-215');">root</a></tt><tt class="py-op">)</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 id="link-506" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-506', 'root', 'link-215');">root</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-496', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-497" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-497', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-498" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-507', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-508" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-508', 'xml', 'link-319');">xml</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">self</tt><tt class="py-op">.</tt><tt id="link-509" 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-498', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-499" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-499', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-500" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-500', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-501" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-501', 'PI', 'link-468');">PI</a></tt><tt class="py-op">,</tt> <tt id="link-502" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-502', 'Comment', 'link-470');">Comment</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-503" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-503', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-504" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-504', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-505" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-505', 'root', 'link-215');">root</a></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>
-<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">        <tt id="link-506" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-506', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-507" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-509', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-510', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-511" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-511', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-512" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-512', 'PI', 'link-479');">PI</a></tt><tt class="py-op">,</tt> <tt id="link-513" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-513', 'Comment', 'link-481');">Comment</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-514" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-514', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-515', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-516" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-516', 'root', 'link-215');">root</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>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">        <tt id="link-517" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-517', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-518" 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-507', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-508" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-508', 'xml', 'link-308');">xml</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">self</tt><tt class="py-op">.</tt><tt id="link-509" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-518', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-519" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-519', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L408"></a><tt class="py-lineno"> 408</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-520" 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-509', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-510" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-510', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-511" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-511', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-512" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-512', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">,</tt> <tt id="link-513" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-513', 'PI', 'link-468');">PI</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-514" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-514', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-515" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-515', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-516" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-516', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_tags_pi_comment_all"></a><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-def"><a name="L402"></a><tt class="py-lineno"> 402</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_pi_comment_all');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment_all">test_strip_tags_pi_comment_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="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-expanded"><a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">        <tt id="link-517" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-520', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-521', 'strip_tags', 'link-453');">strip_tags</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt id="link-523" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-523', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">,</tt> <tt id="link-524" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-524', 'PI', 'link-479');">PI</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-525" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-525', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</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 id="link-526" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-526', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-527" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-527', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_tags_pi_comment_all"></a><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-def"><a name="L412"></a><tt class="py-lineno"> 412</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_pi_comment_all');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_pi_comment_all">test_strip_tags_pi_comment_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="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_pi_comment_all-expanded"><a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line">        <tt id="link-528" 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-517', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-518" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-528', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-529" 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-518', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-519" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-529', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-530" 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-519', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">        <tt id="link-520" 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_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-530', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">        <tt id="link-531" 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-520', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-521" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-531', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-521', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-522" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-532', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-533" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-522', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">        <tt id="link-523" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-523', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-524" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-533', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">        <tt id="link-534" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-534', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-524', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
-<a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line">        <tt id="link-525" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-525', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-526" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-535', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line">        <tt id="link-536" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-536', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-537" 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-526', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-527" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-527', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line">        <tt id="link-528" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-528', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-529" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-529', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</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 id="link-530" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-530', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-531" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-537', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-538" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-538', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line">        <tt id="link-539" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-539', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-540" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-540', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;?PI1?&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;!--comment3--&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">        <tt id="link-541" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-541', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-542" 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-531', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-532" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-532', 'xml', 'link-308');">xml</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">self</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-542', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-543" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-543', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">        <tt class="py-name">self</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-533', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-534" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-534', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-535" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-544', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-545', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-546" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-535', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-536" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-536', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-537" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-537', 'PI', 'link-468');">PI</a></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 id="link-538" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-538', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;/test&gt;\n&lt;!--comment3--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-539" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-539', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-540" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-540', 'root', 'link-215');">root</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>
-<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line">        <tt id="link-541" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-541', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-542" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-546', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-547" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-547', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-548" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-548', 'PI', 'link-479');">PI</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-549" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-549', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--comment1--&gt;\n&lt;test&gt;TEST&lt;!--comment2--&gt;XT&lt;/test&gt;\n&lt;!--comment3--&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-550', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-551" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-551', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt id="link-552" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-552', 'root', 'link-215');">root</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-542', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-543" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-543', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-544" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-553', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-554" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-554', 'xml', 'link-319');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-555" 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-544', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-545" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-545', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-546" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-555', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-556', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-557" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-546', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-547" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-547', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-548" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-548', 'Comment', 'link-470');">Comment</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-549" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-549', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;?PI1?&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-550" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-550', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-551" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-551', 'root', 'link-215');">root</a></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>
-<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line">        <tt id="link-552" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-552', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-553" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-557', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-558" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-558', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-559" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-559', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-560" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-560', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?PI1?&gt;\n&lt;test&gt;TESTXT&lt;?PI2?&gt;&lt;/test&gt;\n&lt;?PI1?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-561" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-561', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-562" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-562', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line"> </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">        <tt id="link-563" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-563', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-564" 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-553', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-554" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-554', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-555" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-564', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-565" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-565', 'xml', 'link-319');">xml</a></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 id="link-566" 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-555', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-556" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-556', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-557" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-566', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-567" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-567', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-568" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-557', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-558" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-558', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-559" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-559', 'PI', 'link-468');">PI</a></tt><tt class="py-op">,</tt> <tt id="link-560" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-560', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-561" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-561', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTXT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-562" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-562', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-563" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-563', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"> </tt>
-<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line">        <tt id="link-564" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-564', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-565" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-568', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-569" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-569', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-570" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-570', 'PI', 'link-479');">PI</a></tt><tt class="py-op">,</tt> <tt id="link-571" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-571', 'Comment', 'link-481');">Comment</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTXT&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-573" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-573', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-574" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-574', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line"> </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">        <tt id="link-575" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-575', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-576" 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-565', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-566" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-566', 'xml', 'link-308');">xml</a></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">self</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-576', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-577" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-577', 'xml', 'link-319');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-578" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-568" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-568', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-569" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-578', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-579" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-579', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-580" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-569', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-570" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-570', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-571" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-571', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">,</tt> <tt id="link-572" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-572', 'PI', 'link-468');">PI</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-573" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-573', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTXT&lt;/test&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-574" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-574', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-575" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-575', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_tags_doc_style"></a><div id="ETreeOnlyTestCase.test_strip_tags_doc_style-def"><a name="L429"></a><tt class="py-lineno"> 429</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_doc_style-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_doc_style');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_doc_style">test_strip_tags_doc_style</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_strip_tags_doc_style-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_doc_style-expanded"><a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">        <tt id="link-576" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-580', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-581" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-581', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-582" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-582', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">,</tt> <tt id="link-583" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-583', 'PI', 'link-479');">PI</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-584" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-584', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTXT&lt;/test&gt;'</tt><tt class="py-op">)</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 id="link-585" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-585', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-586" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-586', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_tags_doc_style"></a><div id="ETreeOnlyTestCase.test_strip_tags_doc_style-def"><a name="L439"></a><tt class="py-lineno"> 439</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_doc_style-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_doc_style');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_doc_style">test_strip_tags_doc_style</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_strip_tags_doc_style-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_doc_style-expanded"><a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">        <tt id="link-587" 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-576', 'XML', 'link-212');">XML</a></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
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-587', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-588" 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-577', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-578" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-588', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-589" 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-578', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">        <tt id="link-579" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-579', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-580" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-580', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line"><tt class="py-string">        &lt;div&gt;</tt> </tt>
-<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line"><tt class="py-string">            &lt;div&gt;</tt> </tt>
-<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line"><tt class="py-string">                I like &lt;strong&gt;sheep&lt;/strong&gt;.</tt> </tt>
-<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line"><tt class="py-string">                &lt;br/&gt;</tt> </tt>
-<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line"><tt class="py-string">                I like lots of &lt;strong&gt;sheep&lt;/strong&gt;.</tt> </tt>
-<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line"><tt class="py-string">                &lt;br/&gt;</tt> </tt>
-<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line"><tt class="py-string">                Click &lt;a href="http://www.sheep.com"&gt;here&lt;/a&gt;</tt> </tt>
-<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line"><tt class="py-string">                 for &lt;a href="http://www.sheep.com"&gt;those&lt;/a&gt; sheep.</tt> </tt>
-<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line"><tt class="py-string">                &lt;br/&gt;</tt> </tt>
-<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line"><tt class="py-string">            &lt;/div&gt;</tt> </tt>
-<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"><tt class="py-string">        &lt;/div&gt;</tt> </tt>
-<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">.</tt><tt id="link-581" 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-581', 'strip', 'link-581');">strip</a></tt><tt class="py-op">(</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>
-<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">        <tt id="link-582" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-582', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-583" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-589', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">        <tt id="link-590" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-590', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-591" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-591', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"><tt class="py-string">        &lt;div&gt;</tt> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line"><tt class="py-string">            &lt;div&gt;</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line"><tt class="py-string">                I like &lt;strong&gt;sheep&lt;/strong&gt;.</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line"><tt class="py-string">                &lt;br/&gt;</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line"><tt class="py-string">                I like lots of &lt;strong&gt;sheep&lt;/strong&gt;.</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line"><tt class="py-string">                &lt;br/&gt;</tt> </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line"><tt class="py-string">                Click &lt;a href="http://www.sheep.com"&gt;here&lt;/a&gt;</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"><tt class="py-string">                 for &lt;a href="http://www.sheep.com"&gt;those&lt;/a&gt; sheep.</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line"><tt class="py-string">                &lt;br/&gt;</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line"><tt class="py-string">            &lt;/div&gt;</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line"><tt class="py-string">        &lt;/div&gt;</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">.</tt><tt id="link-592" 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-592', 'strip', 'link-592');">strip</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line"> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">        <tt id="link-593" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-593', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-594" 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-583', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-584" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-584', 'xml', 'link-308');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-585" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-594', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-595" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-595', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-596" 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-585', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-586" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-586', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-587" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-587', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-588" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-588', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/?a[^&gt;]*&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-589" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-589', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-590" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-590', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-591" 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-591', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt id="link-592" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-592', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;br/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-593" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-593', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;br&gt;&lt;/br&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-594" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-594', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-595" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-595', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line"> </tt>
-<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">        <tt id="link-596" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-596', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-597" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-596', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-597" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-597', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-598" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-598', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-599" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-599', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/?a[^&gt;]*&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-600" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-600', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-601" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-601', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-602" 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-602', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt id="link-603" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-603', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;br/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-604" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-604', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;br&gt;&lt;/br&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-605" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-605', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-606" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-606', 'root', 'link-215');">root</a></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>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">        <tt id="link-607" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-607', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-608" 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-597', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-598" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-598', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-599" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-608', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-609" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-609', 'xml', 'link-319');">xml</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-name">self</tt><tt class="py-op">.</tt><tt id="link-610" 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-599', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-600" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-600', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-601" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-601', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-string">'br'</tt><tt class="py-op">)</tt> </tt>
-<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">        <tt 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">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-602" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-602', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/?a[^&gt;]*&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-603" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-603', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</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">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-604" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-604', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;br[^&gt;]*&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-605" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-605', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-606" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-606', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-607" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-607', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-608" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-608', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_strip_tags_ns"></a><div id="ETreeOnlyTestCase.test_strip_tags_ns-def"><a name="L456"></a><tt class="py-lineno"> 456</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_ns">test_strip_tags_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="ETreeOnlyTestCase.test_strip_tags_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_ns-expanded"><a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">        <tt id="link-609" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-610', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-611', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-612" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-612', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-string">'br'</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-613" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-613', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/?a[^&gt;]*&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-614" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-614', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</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">re</tt><tt class="py-op">.</tt><tt class="py-name">sub</tt><tt class="py-op">(</tt><tt id="link-615" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-615', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;br[^&gt;]*&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-616" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-616', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-617" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-617', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-618', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-619" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-619', 'root', 'link-215');">root</a></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="ETreeOnlyTestCase.test_strip_tags_ns"></a><div id="ETreeOnlyTestCase.test_strip_tags_ns-def"><a name="L466"></a><tt class="py-lineno"> 466</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_ns">test_strip_tags_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="ETreeOnlyTestCase.test_strip_tags_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_ns-expanded"><a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">        <tt id="link-620" 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-609', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-610" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-620', 'XML', 'link-212');">XML</a></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
 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-610', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-611" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-621', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-622" 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-611', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">        <tt id="link-612" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-612', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-613" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-613', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"/&gt;CT&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b xmlns="urn:a"/&gt;BT&lt;c xmlns="urn:x"/&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line"> </tt>
-<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">        <tt id="link-614" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-614', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-615" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-622', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">        <tt id="link-623" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-623', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-624" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-624', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"/&gt;CT&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;A&lt;b xmlns="urn:a"/&gt;BT&lt;c xmlns="urn:x"/&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line"> </tt>
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">        <tt id="link-625" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-625', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-626" 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-615', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-616" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-616', 'xml', 'link-308');">xml</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-name">self</tt><tt class="py-op">.</tt><tt id="link-617" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-626', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-627" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-627', 'xml', 'link-319');">xml</a></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-628" 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-617', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-618" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-618', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-619" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-619', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-620" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-620', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;CT&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;XA&lt;b xmlns="urn:a"&gt;&lt;/b&gt;BT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CTAT&lt;/x&gt;XT&lt;/test&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-621" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-621', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-622" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-622', 'root', 'link-215');">root</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>
-<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">        <tt id="link-623" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-623', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-624" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-628', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-629" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-629', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-630" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-630', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-631" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-631', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;CT&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;XA&lt;b xmlns="urn:a"&gt;&lt;/b&gt;BT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CTAT&lt;/x&gt;XT&lt;/test&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-632" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-632', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-633" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-633', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line"> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">        <tt id="link-634" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-634', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-635" 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-624', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-625" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-625', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-626" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-635', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-636" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-636', 'xml', 'link-319');">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">self</tt><tt class="py-op">.</tt><tt id="link-637" 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-626', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-627" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-627', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-628" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-628', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-629" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-629', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;CT&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;ABT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-630" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-630', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-631" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-631', 'root', 'link-215');">root</a></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>
-<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">        <tt id="link-632" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-632', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-633" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-637', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-638" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-638', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-639" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-639', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-640" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-640', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TEST&lt;n:a xmlns:n="urn:a"&gt;A&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;CT&lt;/b&gt;BT&lt;/n:a&gt;AT&lt;x&gt;X&lt;a&gt;ABT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-641" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-641', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-642" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-642', 'root', 'link-215');">root</a></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>
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">        <tt id="link-643" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-643', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-644" 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-633', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-634" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-634', 'xml', 'link-308');">xml</a></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-635" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-644', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-645" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-645', 'xml', 'link-319');">xml</a></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">self</tt><tt class="py-op">.</tt><tt id="link-646" 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-635', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-636" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-636', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-637" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-637', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}*'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-638" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-638', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTA&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;CT&lt;/b&gt;BTAT&lt;x&gt;X&lt;a&gt;ABT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-639" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-639', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-640" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-640', 'root', 'link-215');">root</a></tt><tt class="py-op">)</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="ETreeOnlyTestCase.test_strip_tags_and_remove"></a><div id="ETreeOnlyTestCase.test_strip_tags_and_remove-def"><a name="L475"></a><tt class="py-lineno"> 475</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_and_remove-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_and_remove');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_and_remove">test_strip_tags_and_remove</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_strip_tags_and_remove-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_and_remove-expanded"><a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">        <tt class="py-comment"># previously crashed</tt> </tt>
-<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">        <tt id="link-641" class="py-name" targets="Variable lxml.etree.ErrorDomains.HTML=lxml.etree.ErrorDomains-class.html#HTML,Function lxml.etree.HTML()=lxml.etree-module.html#HTML,Variable lxml.html.builder.HTML=lxml.html.builder-module.html#HTML,Variable lxml.tests.test_css.HTML=lxml.tests.test_css-module.html#HTML"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-646', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-647" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-647', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-648" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-648', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'{urn:a}*'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-649" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-649', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test&gt;TESTA&lt;b&gt;B&lt;c xmlns="urn:c"&gt;&lt;/c&gt;CT&lt;/b&gt;BTAT&lt;x&gt;X&lt;a&gt;ABT&lt;c xmlns="urn:x"&gt;&lt;/c&gt;CT&lt;/a&gt;AT&lt;/x&gt;XT&lt;/test&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-650" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-650', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-651" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-651', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_strip_tags_and_remove"></a><div id="ETreeOnlyTestCase.test_strip_tags_and_remove-def"><a name="L485"></a><tt class="py-lineno"> 485</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_strip_tags_and_remove-toggle" onclick="return toggle('ETreeOnlyTestCase.test_strip_tags_and_remove');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_strip_tags_and_remove">test_strip_tags_and_remove</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_strip_tags_and_remove-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_strip_tags_and_remove-expanded"><a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">        <tt class="py-comment"># previously crashed</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">        <tt id="link-652" class="py-name" targets="Variable lxml.etree.ErrorDomains.HTML=lxml.etree.ErrorDomains-class.html#HTML,Function lxml.etree.HTML()=lxml.etree-module.html#HTML,Variable lxml.html.builder.HTML=lxml.html.builder-module.html#HTML,Variable lxml.tests.test_css.HTML=lxml.tests.test_css-module.html#HTML"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-641', 'HTML', 'link-641');">HTML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-642" class="py-name"><a title="lxml.etree
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-652', 'HTML', 'link-652');">HTML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-653" 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-642', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-643" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-653', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-654" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-643', 'HTML', 'link-641');">HTML</a></tt> </tt>
-<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">        <tt id="link-644" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-644', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-645" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-654', 'HTML', 'link-652');">HTML</a></tt> </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">        <tt id="link-655" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-655', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-656" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-645', 'HTML', 'link-641');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-646" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-646', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;h1&gt;title&lt;/h1&gt; &lt;b&gt;foo&lt;/b&gt; &lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</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 class="py-number">0</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-647" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-647', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;h1&gt;title&lt;/h1&gt; &lt;b&gt;foo&lt;/b&gt; &lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-648" class="py-name"><a title="lxml.etree
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-656', 'HTML', 'link-652');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-657" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-657', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;h1&gt;title&lt;/h1&gt; &lt;b&gt;foo&lt;/b&gt; &lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</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 class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-658" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-658', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;h1&gt;title&lt;/h1&gt; &lt;b&gt;foo&lt;/b&gt; &lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-659" 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-648', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-649" 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-649', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-650" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-650', 'root', 'link-215');">root</a></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">self</tt><tt class="py-op">.</tt><tt id="link-651" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-659', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-660" 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-660', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-661" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-661', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-662" 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-651', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-652" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-652', 'strip_tags', 'link-442');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-653" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-653', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-654" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-654', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;h1&gt;title&lt;/h1&gt; foo &lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-655" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-662', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-663" class="py-name"><a title="lxml.etree.strip_tags" class="py-name" href="#" onclick="return doclink('link-663', 'strip_tags', 'link-453');">strip_tags</a></tt><tt class="py-op">(</tt><tt id="link-664" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-664', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-665" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-665', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;h1&gt;title&lt;/h1&gt; foo &lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-666" 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-655', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-656" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-656', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-657" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-657', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">        <tt id="link-658" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-658', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-659" class="py-name" targets="Method lxml.etree._Element.remove()=lxml.etree._Element-class.html#remove,Method lxml.html.CheckboxValues.remove()=lxml.html.CheckboxValues-class.html#remove,Method lxml.html.MultipleSelectOptions.remove()=lxml.html.MultipleSelectOptions-class.html#remove"><a title="lxml.etree._Element.remove
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-666', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-667', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-668" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-668', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt id="link-669" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-669', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-670" class="py-name" targets="Method lxml.etree._Element.remove()=lxml.etree._Element-class.html#remove,Method lxml.html.CheckboxValues.remove()=lxml.html.CheckboxValues-class.html#remove,Method lxml.html.MultipleSelectOptions.remove()=lxml.html.MultipleSelectOptions-class.html#remove"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-659', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-660" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-660', 'root', 'link-215');">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="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-661" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-661', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-662" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-670', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-671" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-671', 'root', 'link-215');">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="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-672" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-672', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;div&gt;&lt;p&gt;boo&lt;/p&gt;&lt;/div&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-673" 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-662', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-663" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-663', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-664" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-664', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_pi"></a><div id="ETreeOnlyTestCase.test_pi-def"><a name="L488"></a><tt class="py-lineno"> 488</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi">test_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="ETreeOnlyTestCase.test_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi-expanded"><a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">        <tt class="py-comment"># lxml.etree separates target and text</tt> </tt>
-<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">        <tt id="link-665" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-673', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-674" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-674', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-675" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-675', 'root', 'link-215');">root</a></tt><tt class="py-op">)</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="ETreeOnlyTestCase.test_pi"></a><div id="ETreeOnlyTestCase.test_pi-def"><a name="L498"></a><tt class="py-lineno"> 498</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi">test_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="ETreeOnlyTestCase.test_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi-expanded"><a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">        <tt class="py-comment"># lxml.etree separates target and text</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">        <tt id="link-676" 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-665', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-666" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-676', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-666', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-667" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-677', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-678" 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-667', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line">        <tt id="link-668" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-668', 'SubElement', 'link-107');">SubElement</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
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-678', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">        <tt id="link-679" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-679', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-680" 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-669', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-670" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-670', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">        <tt class="py-name">ProcessingInstruction</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
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-680', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-681" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-681', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">        <tt class="py-name">ProcessingInstruction</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-682" 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-671', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
-<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line"> </tt>
-<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-672" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-682', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line"> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-683" 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-672', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">a</tt><tt class="py-op">.</tt><tt id="link-673" 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-673', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">ProcessingInstruction</tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">,</tt> <tt class="py-string">'some more text'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">        <tt 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">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-674" class="py-name" targets="Variable lxml.etree._ProcessingInstruction.target=lxml.etree._ProcessingInstruction-class.html#target"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-674', 'target', 'link-674');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
-<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">        <tt 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">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-675" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-683', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-684" 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-684', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">ProcessingInstruction</tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">,</tt> <tt class="py-string">'some more text'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">        <tt 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">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-685" class="py-name" targets="Variable lxml.etree._ProcessingInstruction.target=lxml.etree._ProcessingInstruction-class.html#target"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-685', 'target', 'link-685');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">        <tt 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">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-686" 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-675', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'some more text'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_pi_parse"></a><div id="ETreeOnlyTestCase.test_pi_parse-def"><a name="L499"></a><tt class="py-lineno"> 499</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi_parse-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_parse">test_pi_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="ETreeOnlyTestCase.test_pi_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi_parse-expanded"><a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">        <tt id="link-676" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-686', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'some more text'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_pi_parse"></a><div id="ETreeOnlyTestCase.test_pi_parse-def"><a name="L509"></a><tt class="py-lineno"> 509</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi_parse-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_parse">test_pi_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="ETreeOnlyTestCase.test_pi_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi_parse-expanded"><a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">        <tt id="link-687" 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-676', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-677" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-687', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-688" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-678" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-688', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-689" 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-678', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">        <tt id="link-679" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-679', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-680" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-689', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">        <tt id="link-690" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-690', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-691" 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-680', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-681" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-681', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test&gt;&lt;?mypi my test ?&gt;&lt;/test&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-682" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-682', 'root', 'link-215');">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-683" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-683', 'target', 'link-674');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">"mypi"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-684" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-684', 'root', 'link-215');">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-685" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-691', 'XML', 'link-212');">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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test&gt;&lt;?mypi my test ?&gt;&lt;/test&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-693" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-693', 'root', 'link-215');">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-694" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-694', 'target', 'link-685');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">"mypi"</tt><tt class="py-op">)</tt> </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt 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-215');">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-696" 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-685', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"my test "</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_pi_pseudo_attributes_get"></a><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-def"><a name="L505"></a><tt class="py-lineno"> 505</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi_pseudo_attributes_get');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_get">test_pi_pseudo_attributes_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="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-expanded"><a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">        <tt id="link-686" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-696', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"my test "</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_pi_pseudo_attributes_get"></a><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-def"><a name="L515"></a><tt class="py-lineno"> 515</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi_pseudo_attributes_get');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_get">test_pi_pseudo_attributes_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="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_get-expanded"><a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">        <tt id="link-697" 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-686', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-687" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-697', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-698" 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-687', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-688" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-698', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-699" 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-688', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">        <tt id="link-689" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-689', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-690" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-699', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">        <tt id="link-700" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-700', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-701" 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-690', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-691" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-691', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test&gt;&lt;?mypi my='1' test=\" abc \" quotes=\"' '\" only names ?&gt;&lt;/test&gt;"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-692" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-692', 'root', 'link-215');">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-693" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-693', 'target', 'link-674');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">"mypi"</tt><tt class="py-op">)</tt> </tt>
-<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-694" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-694', 'root', 'link-215');">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-695" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-701', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-702" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-702', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test&gt;&lt;?mypi my='1' test=\" abc \" quotes=\"' '\" only names ?&gt;&lt;/test&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt 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-215');">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._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-704', 'target', 'link-685');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">"mypi"</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">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-215');">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._Attrib.get
 lxml.etree._Element.get
 lxml.etree._IDDict.get
-lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-695', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'my'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-696" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-696', 'root', 'link-215');">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-697" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-706', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'my'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</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 id="link-707" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-707', 'root', 'link-215');">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-708" 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-697', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'test'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">" abc "</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 id="link-698" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-698', 'root', 'link-215');">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._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-708', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'test'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">" abc "</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">assertEqual</tt><tt class="py-op">(</tt><tt id="link-709" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-709', 'root', 'link-215');">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-710" 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-699', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'quotes'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"' '"</tt><tt class="py-op">)</tt> </tt>
-<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">        <tt 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-215');">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._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-710', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'quotes'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">"' '"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-711" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-711', 'root', 'link-215');">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-712" 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-701', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'only'</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="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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-215');">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-703" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-712', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'only'</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="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">        <tt 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-215');">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-714" 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-703', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'names'</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="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-704" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-704', 'root', 'link-215');">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-705" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-714', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'names'</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="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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-215');">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-716" 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-705', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</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="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib"></a><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-def"><a name="L516"></a><tt class="py-lineno"> 516</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_attrib">test_pi_pseudo_attributes_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="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-expanded"><a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">        <tt id="link-706" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-716', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</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="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib"></a><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-def"><a name="L526"></a><tt class="py-lineno"> 526</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pi_pseudo_attributes_attrib">test_pi_pseudo_attributes_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="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pi_pseudo_attributes_attrib-expanded"><a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line">        <tt id="link-717" 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-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-707" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-717', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-718" 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-707', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-708" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-718', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-719" 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-708', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">        <tt id="link-709" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-709', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-710" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-719', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">        <tt id="link-720" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-720', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-721" 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-710', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-711" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-711', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test&gt;&lt;?mypi my='1' test=\" abc \" quotes=\"' '\" only names ?&gt;&lt;/test&gt;"</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-712" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-712', 'root', 'link-215');">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-713" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-713', 'target', 'link-674');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">"mypi"</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 id="link-714" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-714', 'root', 'link-215');">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-715" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-721', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-722" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-722', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test&gt;&lt;?mypi my='1' test=\" abc \" quotes=\"' '\" only names ?&gt;&lt;/test&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-723" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-723', 'root', 'link-215');">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-724" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-724', 'target', 'link-685');">target</a></tt><tt class="py-op">,</tt> <tt class="py-string">"mypi"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-725" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-725', 'root', 'link-215');">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-726" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-715', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'my'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</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">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-215');">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-717" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-726', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'my'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"1"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-727" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-727', 'root', 'link-215');">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-728" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-717', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'test'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">" abc "</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">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-215');">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-719" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-728', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'test'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">" abc "</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">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-215');">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-730" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-719', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'quotes'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"' '"</tt><tt class="py-op">)</tt> </tt>
-<a name="L523"></a><tt class="py-lineno"> 523</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">KeyError</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-215');">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-721" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-730', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'quotes'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">"' '"</tt><tt class="py-op">)</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</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">KeyError</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-215');">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-732" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-721', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-722" class="py-name" targets="Method lxml.etree._Attrib.__getitem__()=lxml.etree._Attrib-class.html#__getitem__,Method lxml.etree._Element.__getitem__()=lxml.etree._Element-class.html#__getitem__,Method lxml.etree._IDDict.__getitem__()=lxml.etree._IDDict-class.html#__getitem__,Method lxml.etree._ListErrorLog.__getitem__()=lxml.etree._ListErrorLog-class.html#__getitem__,Method lxml.html.FieldsDict.__getitem__()=lxml.html.FieldsDict-class.html#__getitem__,Method lxml.html.InputGetter.__getitem__()=lxml.html.InputGetter-class.html#__getitem__,Method lxml.objectify.ObjectifiedElement.__getitem__()=lxml.objectify.ObjectifiedElement-class.html#__getitem__"><a title="lxml.etree._Attrib.__getitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-732', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-733" class="py-name" targets="Method lxml.etree._Attrib.__getitem__()=lxml.etree._Attrib-class.html#__getitem__,Method lxml.etree._Element.__getitem__()=lxml.etree._Element-class.html#__getitem__,Method lxml.etree._IDDict.__getitem__()=lxml.etree._IDDict-class.html#__getitem__,Method lxml.etree._ListErrorLog.__getitem__()=lxml.etree._ListErrorLog-class.html#__getitem__,Method lxml.html.FieldsDict.__getitem__()=lxml.html.FieldsDict-class.html#__getitem__,Method lxml.html.InputGetter.__getitem__()=lxml.html.InputGetter-class.html#__getitem__,Method lxml.objectify.ObjectifiedElement.__getitem__()=lxml.objectify.ObjectifiedElement-class.html#__getitem__"><a title="lxml.etree._Attrib.__getitem__
 lxml.etree._Element.__getitem__
 lxml.etree._IDDict.__getitem__
 lxml.etree._ListErrorLog.__getitem__
 lxml.html.FieldsDict.__getitem__
 lxml.html.InputGetter.__getitem__
-lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-722', '__getitem__', 'link-722');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'only'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt id="link-723" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-723', 'root', 'link-215');">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-724" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-733', '__getitem__', 'link-733');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'only'</tt><tt class="py-op">)</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</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">KeyError</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-215');">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-735" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-724', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-725" class="py-name"><a title="lxml.etree._Attrib.__getitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-735', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="lxml.etree._Attrib.__getitem__
 lxml.etree._Element.__getitem__
 lxml.etree._IDDict.__getitem__
 lxml.etree._ListErrorLog.__getitem__
 lxml.html.FieldsDict.__getitem__
 lxml.html.InputGetter.__getitem__
-lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-725', '__getitem__', 'link-722');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'names'</tt><tt class="py-op">)</tt> </tt>
-<a name="L525"></a><tt class="py-lineno"> 525</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">KeyError</tt><tt class="py-op">,</tt> <tt id="link-726" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-726', 'root', 'link-215');">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-727" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-736', '__getitem__', 'link-733');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'names'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</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-215');">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-738" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-727', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-728" class="py-name"><a title="lxml.etree._Attrib.__getitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-738', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="lxml.etree._Attrib.__getitem__
 lxml.etree._Element.__getitem__
 lxml.etree._IDDict.__getitem__
 lxml.etree._ListErrorLog.__getitem__
 lxml.html.FieldsDict.__getitem__
 lxml.html.InputGetter.__getitem__
-lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-728', '__getitem__', 'link-722');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_deepcopy_pi"></a><div id="ETreeOnlyTestCase.test_deepcopy_pi-def"><a name="L527"></a><tt class="py-lineno"> 527</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_deepcopy_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_deepcopy_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi">test_deepcopy_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="ETreeOnlyTestCase.test_deepcopy_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_deepcopy_pi-expanded"><a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">        <tt class="py-comment"># previously caused a crash</tt> </tt>
-<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">        <tt class="py-name">ProcessingInstruction</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-729" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-739', '__getitem__', 'link-733');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_deepcopy_pi"></a><div id="ETreeOnlyTestCase.test_deepcopy_pi-def"><a name="L537"></a><tt class="py-lineno"> 537</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_deepcopy_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_deepcopy_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_pi">test_deepcopy_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="ETreeOnlyTestCase.test_deepcopy_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_deepcopy_pi-expanded"><a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">        <tt class="py-comment"># previously caused a crash</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">        <tt class="py-name">ProcessingInstruction</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-740" 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-729', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</tt> </tt>
-<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">         </tt>
-<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">(</tt><tt class="py-string">"PI"</tt><tt class="py-op">,</tt> <tt class="py-string">"ONE"</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">b</tt> <tt class="py-op">=</tt> <tt id="link-730" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-740', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt class="py-name">ProcessingInstruction</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">a</tt> <tt class="py-op">=</tt> <tt class="py-name">ProcessingInstruction</tt><tt class="py-op">(</tt><tt class="py-string">"PI"</tt><tt class="py-op">,</tt> <tt class="py-string">"ONE"</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">b</tt> <tt class="py-op">=</tt> <tt id="link-741" 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" class="py-name" href="#" onclick="return doclink('link-730', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-731" class="py-name"><a title="lxml.etree.QName.text
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-741', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-742" 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-731', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"ANOTHER"</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ONE'</tt><tt class="py-op">,</tt>     <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-732" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-742', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"ANOTHER"</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ONE'</tt><tt class="py-op">,</tt>     <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-743" 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-732', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ANOTHER'</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-733" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-743', 'text', 'link-189');">text</a></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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ANOTHER'</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-744" 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-733', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_deepcopy_elementtree_pi"></a><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-def"><a name="L538"></a><tt class="py-lineno"> 538</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_deepcopy_elementtree_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_pi">test_deepcopy_elementtree_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="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-expanded"><a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">        <tt id="link-734" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-744', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_deepcopy_elementtree_pi"></a><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-def"><a name="L548"></a><tt class="py-lineno"> 548</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_deepcopy_elementtree_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_pi">test_deepcopy_elementtree_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="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_pi-expanded"><a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">        <tt id="link-745" 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-734', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-735" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-745', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-746" 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-735', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-736" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-746', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-747" 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-736', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">        <tt id="link-737" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-737', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-738" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-747', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">        <tt id="link-748" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-748', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-749" 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-738', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-739" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-739', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">        <tt id="link-740" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-740', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-741" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-749', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-750" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-750', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">        <tt id="link-751" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-751', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-752" 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-741', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-742" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-742', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?mypi my test ?&gt;&lt;test/&gt;&lt;!--comment --&gt;"</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-name">tree1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-743" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-752', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-753" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-753', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?mypi my test ?&gt;&lt;test/&gt;&lt;!--comment --&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">        <tt class="py-name">tree1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-754" 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-743', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-744" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-754', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-755" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-744', 'ElementTree', 'link-520');">ElementTree</a></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-215');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-746" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-746', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?mypi my test ?&gt;&lt;test/&gt;&lt;!--comment --&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">                          <tt id="link-747" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-747', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line"> </tt>
-<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">        <tt class="py-name">tree2</tt> <tt class="py-op">=</tt> <tt id="link-748" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-755', 'ElementTree', 'link-531');">ElementTree</a></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-215');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-757', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?mypi my test ?&gt;&lt;test/&gt;&lt;!--comment --&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">                          <tt id="link-758" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-758', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">)</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">tree2</tt> <tt class="py-op">=</tt> <tt id="link-759" 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" class="py-name" href="#" onclick="return doclink('link-748', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">)</tt> </tt>
-<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-749', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?mypi my test ?&gt;&lt;test/&gt;&lt;!--comment --&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">                          <tt id="link-750" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-750', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line"> </tt>
-<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-751" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-759', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</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 id="link-760" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-760', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;?mypi my test ?&gt;&lt;test/&gt;&lt;!--comment --&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">                          <tt id="link-761" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-761', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree2</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>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-762" 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" class="py-name" href="#" onclick="return doclink('link-751', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">.</tt><tt id="link-752" 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-752', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-753', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">                          <tt id="link-754" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-754', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd"></a><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-def"><a name="L554"></a><tt class="py-lineno"> 554</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-toggle" onclick="return toggle('ETreeOnlyTestCase.test_deepcopy_elementtree_dtd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_dtd">test_deepcopy_elementtree_dtd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-expanded"><a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">        <tt id="link-755" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-762', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">.</tt><tt id="link-763" 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-763', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">                          <tt id="link-765" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-765', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd"></a><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-def"><a name="L564"></a><tt class="py-lineno"> 564</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-toggle" onclick="return toggle('ETreeOnlyTestCase.test_deepcopy_elementtree_dtd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_deepcopy_elementtree_dtd">test_deepcopy_elementtree_dtd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_deepcopy_elementtree_dtd-expanded"><a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">        <tt id="link-766" 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-755', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-756" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-766', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-756', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-757" 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-10');">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-757', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">        <tt id="link-758" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-758', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-759" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-768', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">        <tt id="link-769" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-769', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-770" 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-759', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-760" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-760', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">        <tt id="link-761" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-761', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-762" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-762', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE test [\n&lt;!ENTITY entity "tasty"&gt;\n]&gt;\n&lt;test/&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">        <tt id="link-763" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-763', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-764" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-770', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-771" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-771', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">        <tt id="link-772" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-772', 'xml', 'link-319');">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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE test [\n&lt;!ENTITY entity "tasty"&gt;\n]&gt;\n&lt;test/&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-775" 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-764', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-765" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-765', 'xml', 'link-308');">xml</a></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">tree1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-766" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-775', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-776" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-776', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">        <tt class="py-name">tree1</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-777" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-767" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-777', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-778" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-767', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-768" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-768', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-769" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-769', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-770" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-770', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line"> </tt>
-<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">        <tt class="py-name">tree2</tt> <tt class="py-op">=</tt> <tt id="link-771" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-778', 'ElementTree', 'link-531');">ElementTree</a></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-215');">root</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">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.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-780', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-781" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-781', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line"> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">        <tt class="py-name">tree2</tt> <tt class="py-op">=</tt> <tt id="link-782" 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" class="py-name" href="#" onclick="return doclink('link-771', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">)</tt> </tt>
-<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-772" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-772', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-773" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-773', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree2</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>
-<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-774" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-782', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</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">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.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-783', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-784" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-784', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line"> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-785" 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" class="py-name" href="#" onclick="return doclink('link-774', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</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-752');">getroot</a></tt><tt class="py-op">(</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 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-776', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">                          <tt id="link-777" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-777', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_attribute_set"></a><div id="ETreeOnlyTestCase.test_attribute_set-def"><a name="L569"></a><tt class="py-lineno"> 569</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_set-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_set');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_set">test_attribute_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="ETreeOnlyTestCase.test_attribute_set-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_set-expanded"><a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree accepts arbitrary attribute values</tt> </tt>
-<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">        <tt class="py-comment"># lxml.etree allows only strings</tt> </tt>
-<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">        <tt id="link-778" 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-778', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-779" 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-779', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-780" 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-780', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line"> </tt>
-<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">        <tt id="link-781" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-781', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-782" 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-782', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">        <tt id="link-783" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-783', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-784" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-784', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr"</tt><tt class="py-op">,</tt> <tt class="py-string">"TEST"</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-string">"TEST"</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-786" 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-786', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"attr"</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 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 id="link-787" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-787', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-788" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-788', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"newattr"</tt><tt class="py-op">,</tt> <tt class="py-number">5</tt><tt class="py-op">)</tt> </tt>
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-785', 'copy', 'link-1');">copy</a></tt><tt class="py-op">.</tt><tt class="py-name">deepcopy</tt><tt class="py-op">(</tt><tt class="py-name">tree1</tt><tt class="py-op">.</tt><tt id="link-786" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-786', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</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 id="link-787" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-787', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;test/&gt;"</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-788" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-788', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_parse_remove_comments"></a><div id="ETreeOnlyTestCase.test_parse_remove_comments-def"><a name="L579"></a><tt class="py-lineno"> 579</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_remove_comments-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parse_remove_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_remove_comments">test_parse_remove_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ETreeOnlyTestCase.test_parse_remove_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_remove_comments-expanded"><a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">        <tt id="link-789" class="py-name" targets="Function lxml.etree.fromstring()=lxml.etree-module.html#fromstring,Function lxml.html.html5parser.fromstring()=lxml.html.html5parser-module.html#fromstring,Function lxml.html.soupparser.fromstring()=lxml.html.soupparser-module.html#fromstring,Function lxml.objectify.fromstring()=lxml.objectify-module.html#fromstring"><a title="lxml.etree.fromstring
@@ -2028,13 +2028,13 @@ lxml.html.html5parser.fromstring
 lxml.html.soupparser.fromstring
 lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-791', 'fromstring', 'link-789');">fromstring</a></tt> </tt>
 <a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">        <tt id="link-792" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-792', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-793" class="py-name"><a title="lxml.etree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-792', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-793" 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-793', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-794" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-794', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-794', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">        <tt id="link-795" 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-795', 'XMLParser', 'link-795');">XMLParser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-796" class="py-name"><a title="lxml.etree
@@ -2046,7 +2046,7 @@ lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="retu
 lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser
 xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-797', 'XMLParser', 'link-795');">XMLParser</a></tt> </tt>
 <a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line"> </tt>
-<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">        <tt id="link-798" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-798', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-799" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-799', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--A--&gt;&lt;b&gt;&lt;!-- B --&gt;&lt;c/&gt;&lt;/b&gt;&lt;!--C--&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">        <tt id="link-798" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-798', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-799" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-799', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--A--&gt;&lt;b&gt;&lt;!-- B --&gt;&lt;c/&gt;&lt;/b&gt;&lt;!--C--&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
 <a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">        <tt id="link-800" 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-800', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-801" class="py-name"><a title="lxml.etree.XMLParser
 lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser
@@ -2054,12 +2054,12 @@ xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclin
 <a name="L586"></a><tt class="py-lineno"> 586</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-803" 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-803', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-804" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-804', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-805" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-803', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-804" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-804', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-805" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-805', 'parser', 'link-800');">parser</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">            <tt id="link-806" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-806', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;/a&gt;'</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 id="link-807" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-807', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-808" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-808', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-807', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-808" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-808', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_parse_remove_pis"></a><div id="ETreeOnlyTestCase.test_parse_remove_pis-def"><a name="L591"></a><tt class="py-lineno"> 591</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_remove_pis-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parse_remove_pis');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_remove_pis">test_parse_remove_pis</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ETreeOnlyTestCase.test_parse_remove_pis-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_remove_pis-expanded"><a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">        <tt id="link-809" 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
@@ -2081,13 +2081,13 @@ lxml.html.soupparser.parse
 lxml.objectify.parse
 lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-811', 'parse', 'link-809');">parse</a></tt> </tt>
 <a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">        <tt id="link-812" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-812', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-813" class="py-name"><a title="lxml.etree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-812', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-814" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-814', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-814', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">        <tt id="link-815" 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-815', 'XMLParser', 'link-795');">XMLParser</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
@@ -2099,9 +2099,9 @@ lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="retu
 lxml.tests.test_elementtree._ETreeTestCaseBase.XMLParser
 xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-817', 'XMLParser', 'link-795');">XMLParser</a></tt> </tt>
 <a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line"> </tt>
-<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt id="link-818" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-818', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-819" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-819', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?test?&gt;&lt;a&gt;&lt;?A?&gt;&lt;b&gt;&lt;?B?&gt;&lt;c/&gt;&lt;/b&gt;&lt;?C?&gt;&lt;/a&gt;&lt;?tail?&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt id="link-818" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-818', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-819" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-819', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?test?&gt;&lt;a&gt;&lt;?A?&gt;&lt;b&gt;&lt;?B?&gt;&lt;c/&gt;&lt;/b&gt;&lt;?C?&gt;&lt;/a&gt;&lt;?tail?&gt;'</tt><tt class="py-op">)</tt> </tt>
 <a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line"> </tt>
-<a name="L598"></a><tt class="py-lineno"> 598</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 id="link-820" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-820', 'xml', 'link-308');">xml</a></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">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-820" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-820', 'xml', 'link-319');">xml</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">tree</tt> <tt class="py-op">=</tt> <tt id="link-821" class="py-name"><a title="lxml.etree._ElementTree.parse
 lxml.etree.parse
 lxml.html.ElementSoup.parse
@@ -2110,9 +2110,9 @@ lxml.html.soupparser.parse
 lxml.objectify.parse
 lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-821', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">            <tt id="link-822" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-822', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">            <tt id="link-822" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-822', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> </tt>
 <a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">            <tt id="link-823" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-823', 'tostring', 'link-649');">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>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-823', 'tostring', 'link-660');">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>
 <a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"> </tt>
 <a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">        <tt id="link-824" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-824', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-825" class="py-name"><a title="lxml.etree.XMLParser
@@ -2129,7 +2129,7 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href
 <a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-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="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">            <tt id="link-828" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-828', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;/a&gt;'</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-829" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-829', 'tostring', 'link-649');">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>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-829', 'tostring', 'link-660');">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="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_parse_parser_type_error"></a><div id="ETreeOnlyTestCase.test_parse_parser_type_error-def"><a name="L610"></a><tt class="py-lineno"> 610</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_parser_type_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parse_parser_type_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_parser_type_error">test_parse_parser_type_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="ETreeOnlyTestCase.test_parse_parser_type_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_parser_type_error-expanded"><a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">        <tt class="py-comment"># ET raises IOError only</tt> </tt>
@@ -2168,13 +2168,13 @@ 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-835', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-836" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-836', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
 <a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">        <tt id="link-837" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-837', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-838" class="py-name"><a title="lxml.etree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-837', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-839" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-839', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-839', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line"> </tt>
 <a name="L620"></a><tt class="py-lineno"> 620</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-string">'&lt;a&gt;&lt;!--A--&gt;&lt;b&gt;&lt;!-- B --&gt;&lt;c/&gt;&lt;/b&gt;&lt;!--C--&gt;&lt;/a&gt;'</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">events</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt id="link-840" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-840', 'iterparse', 'link-834');">iterparse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
@@ -2183,7 +2183,7 @@ lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-839'
 <a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-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="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">            <tt id="link-842" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-842', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--A--&gt;&lt;b&gt;&lt;!-- B --&gt;&lt;c/&gt;&lt;/b&gt;&lt;!--C--&gt;&lt;/a&gt;'</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 id="link-843" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-843', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-844" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-844', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-843', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-844" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-844', 'root', 'link-215');">root</a></tt><tt class="py-op">)</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="ETreeOnlyTestCase.test_iterparse_comments"></a><div id="ETreeOnlyTestCase.test_iterparse_comments-def"><a name="L628"></a><tt class="py-lineno"> 628</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterparse_comments-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterparse_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_comments">test_iterparse_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ETreeOnlyTestCase.test_iterparse_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterparse_comments-expanded"><a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">        <tt class="py-comment"># ET removes comments</tt> </tt>
@@ -2194,13 +2194,13 @@ 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-846', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-847" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-847', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
 <a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line">        <tt id="link-848" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-848', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-849" class="py-name"><a title="lxml.etree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-848', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-849" 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-849', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-850" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-850', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-850', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"> </tt>
 <a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line">        <tt class="py-keyword">def</tt> <tt class="py-def-name">name</tt><tt class="py-op">(</tt><tt class="py-param">event</tt><tt class="py-op">,</tt> <tt class="py-param">el</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 class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-op">==</tt> <tt class="py-string">'comment'</tt><tt class="py-op">:</tt> </tt>
@@ -2229,7 +2229,7 @@ lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('li
 <a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-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="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">            <tt id="link-856" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-856', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--A--&gt;&lt;b&gt;&lt;!-- B --&gt;&lt;c/&gt;&lt;/b&gt;&lt;!--C--&gt;&lt;/a&gt;'</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 id="link-857" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-857', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-858" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-858', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-857', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-858" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-858', 'root', 'link-215');">root</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="ETreeOnlyTestCase.test_iterparse_pis"></a><div id="ETreeOnlyTestCase.test_iterparse_pis-def"><a name="L649"></a><tt class="py-lineno"> 649</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterparse_pis-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterparse_pis');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_pis">test_iterparse_pis</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ETreeOnlyTestCase.test_iterparse_pis-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterparse_pis-expanded"><a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">        <tt class="py-comment"># ET removes pis</tt> </tt>
@@ -2240,27 +2240,27 @@ 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-860', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-861" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-861', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
 <a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line">        <tt id="link-862" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-862', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-863" class="py-name"><a title="lxml.etree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-862', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-863" 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-863', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-864" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-864', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-864', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L653"></a><tt class="py-lineno"> 653</tt>  <tt class="py-line">        <tt id="link-865" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-865', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-866" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-865', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-867" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-867', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-867', 'ElementTree', 'link-531');">ElementTree</a></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-keyword">def</tt> <tt class="py-def-name">name</tt><tt class="py-op">(</tt><tt class="py-param">event</tt><tt class="py-op">,</tt> <tt class="py-param">el</tt><tt class="py-op">)</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">if</tt> <tt class="py-name">event</tt> <tt class="py-op">==</tt> <tt class="py-string">'pi'</tt><tt class="py-op">:</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-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-868" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-868', 'target', 'link-674');">target</a></tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-869" class="py-name"><a title="lxml.etree.QName.text
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-868" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-868', 'target', 'link-685');">target</a></tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-869" class="py-name"><a title="lxml.etree.QName.text
 lxml.etree._Element.text
 lxml.etree._Entity.text
 lxml.objectify.ObjectifiedElement.text
@@ -2286,9 +2286,9 @@ lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('li
 <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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line">            <tt id="link-874" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-874', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?pia a?&gt;&lt;a&gt;&lt;?pib b?&gt;&lt;b&gt;&lt;?pic c?&gt;&lt;c/&gt;&lt;/b&gt;&lt;?pid d?&gt;&lt;/a&gt;&lt;?pie e?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
 <a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line">            <tt id="link-875" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-875', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-876" class="py-name"><a title="lxml.etree.ElementTree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-875', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-876" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-876', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-877" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-877', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-876', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-877" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-877', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_iterparse_remove_comments"></a><div id="ETreeOnlyTestCase.test_iterparse_remove_comments-def"><a name="L672"></a><tt class="py-lineno"> 672</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterparse_remove_comments-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterparse_remove_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_remove_comments">test_iterparse_remove_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ETreeOnlyTestCase.test_iterparse_remove_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterparse_remove_comments-expanded"><a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line">        <tt id="link-878" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-878', 'iterparse', 'link-834');">iterparse</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
@@ -2298,13 +2298,13 @@ 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-879', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-880" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-880', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
 <a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line">        <tt id="link-881" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-881', 'tostring', 'link-649');">tostring</a></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
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-881', 'tostring', 'link-660');">tostring</a></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
 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-882', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-883" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-883', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-883', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"> </tt>
 <a name="L676"></a><tt class="py-lineno"> 676</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-string">'&lt;a&gt;&lt;!--A--&gt;&lt;b&gt;&lt;!-- B --&gt;&lt;c/&gt;&lt;/b&gt;&lt;!--C--&gt;&lt;/a&gt;'</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">events</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt id="link-884" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-884', 'iterparse', 'link-834');">iterparse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">remove_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> </tt>
@@ -2321,7 +2321,7 @@ xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return docl
 <a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-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="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line">            <tt id="link-887" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-887', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
 <a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line">            <tt id="link-888" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-888', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-889" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-889', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-888', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-889" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-889', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_iterparse_broken"></a><div id="ETreeOnlyTestCase.test_iterparse_broken-def"><a name="L687"></a><tt class="py-lineno"> 687</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterparse_broken-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterparse_broken');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_broken">test_iterparse_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="ETreeOnlyTestCase.test_iterparse_broken-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterparse_broken-expanded"><a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line">        <tt id="link-890" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-890', 'iterparse', 'link-834');">iterparse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-891" class="py-name"><a title="lxml.etree
@@ -2625,13 +2625,13 @@ xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doc
 </div><a name="L828"></a><tt class="py-lineno"> 828</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_iterparse_keep_cdata"></a><div id="ETreeOnlyTestCase.test_iterparse_keep_cdata-def"><a name="L829"></a><tt class="py-lineno"> 829</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterparse_keep_cdata-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterparse_keep_cdata');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterparse_keep_cdata">test_iterparse_keep_cdata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ETreeOnlyTestCase.test_iterparse_keep_cdata-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterparse_keep_cdata-expanded"><a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line">        <tt id="link-987" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-987', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-988" class="py-name"><a title="lxml.etree
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-987', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-988" 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-988', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-989" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-989', 'tostring', 'link-649');">tostring</a></tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-989', 'tostring', 'link-660');">tostring</a></tt> </tt>
 <a name="L831"></a><tt class="py-lineno"> 831</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-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
 <a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line">        <tt class="py-name">context</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
 lxml.sax.ElementTreeContentHandler.etree
@@ -2648,7 +2648,7 @@ xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doc
 <a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line">        <tt 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">'test'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">content</tt><tt class="py-op">)</tt> </tt>
 <a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-993" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-993', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
 <a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line">                          <tt id="link-994" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-994', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-995', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-994', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">.</tt><tt id="link-995" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-995', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line"> </tt>
 <a name="ETreeOnlyTestCase.test_parser_encoding_unknown"></a><div id="ETreeOnlyTestCase.test_parser_encoding_unknown-def"><a name="L839"></a><tt class="py-lineno"> 839</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parser_encoding_unknown-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parser_encoding_unknown');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parser_encoding_unknown">test_parser_encoding_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="ETreeOnlyTestCase.test_parser_encoding_unknown-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parser_encoding_unknown-expanded"><a name="L840"></a><tt class="py-lineno"> 840</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>
@@ -2812,7 +2812,7 @@ xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return docl
 <a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1068', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start"</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">events</tt><tt class="py-op">.</tt><tt id="link-1068" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1068', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start"</tt><tt class="py-op">)</tt> </tt>
 <a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">                <tt id="link-1069" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-1069', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt id="link-1070" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
 xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1070', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">)</tt> </tt>
@@ -2823,7 +2823,7 @@ lxml.etree._ProcessingInstruction.tag
 lxml.tests.test_xpathevaluator.tag
 xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1071', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">                <tt class="py-name">events</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-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end"</tt><tt class="py-op">)</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">                <tt class="py-name">events</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-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end"</tt><tt class="py-op">)</tt> </tt>
 <a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">                <tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">"TAG"</tt><tt class="py-op">,</tt> <tt id="link-1073" class="py-name"><a title="lxml.etree._Comment.tag
 lxml.etree._Element.tag
 lxml.etree._Entity.tag
@@ -2841,7 +2841,7 @@ 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-1075', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1076" 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-1076', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1077" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1077', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1076', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1077" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1077', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L911"></a><tt class="py-lineno"> 911</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-1078" class="py-name"><a title="lxml.etree
 lxml.sax.ElementTreeContentHandler.etree
 lxml.tests.test_elementtree.CElementTreeTestCase.etree
@@ -2849,7 +2849,7 @@ 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-1078', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1079" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-1079', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-1079', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
 <a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line"> </tt>
 <a name="L913"></a><tt class="py-lineno"> 913</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>
 <a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">                          <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1080" class="py-name"><a title="lxml.etree._ElementTree.parse
@@ -2868,14 +2868,14 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href
 <a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1083', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1084" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1083" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1083', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1084" 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-1084', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1085" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1085', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1086" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1085" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1085', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1086" class="py-name"><a title="lxml.etree._Comment.tag
 lxml.etree._Element.tag
 lxml.etree._Entity.tag
 lxml.etree._ProcessingInstruction.tag
@@ -2889,9 +2889,9 @@ lxml.tests.test_xpathevaluator.tag
 xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1087', 'tag', 'link-68');">tag</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'a'</tt><tt class="py-op">:</tt> </tt>
 <a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"dead and gone"</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1088', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1089" class="py-name" targets="Method lxml.etree.TreeBuilder.data()=lxml.etree.TreeBuilder-class.html#data"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1089', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1088" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1088', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1089" class="py-name" targets="Method lxml.etree.TreeBuilder.data()=lxml.etree.TreeBuilder-class.html#data"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1089', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1090', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"close"</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">events</tt><tt class="py-op">.</tt><tt id="link-1090" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1090', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"close"</tt><tt class="py-op">)</tt> </tt>
 <a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">"DONE"</tt> </tt>
 </div></div><a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line"> </tt>
 <a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">        <tt id="link-1091" class="py-name"><a title="lxml.etree._ElementTree.parser
@@ -2902,7 +2902,7 @@ 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-1092', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1093" 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-1093', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1094" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1094', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1093', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1094" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1094', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line"> </tt>
 <a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
 <a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">            <tt id="link-1095" class="py-name"><a title="lxml.etree._ElementTree.parser
@@ -2924,14 +2924,14 @@ lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
 <a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L950"></a><tt class="py-lineno"> 950</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</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">events</tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1100', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1101" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1100" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1100', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1101" 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-1101', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</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">events</tt><tt class="py-op">.</tt><tt id="link-1102" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1102', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1103" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1102" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1102', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1103" class="py-name"><a title="lxml.etree._Comment.tag
 lxml.etree._Element.tag
 lxml.etree._Entity.tag
 lxml.etree._ProcessingInstruction.tag
@@ -2945,9 +2945,9 @@ lxml.tests.test_xpathevaluator.tag
 xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1104', 'tag', 'link-68');">tag</a></tt> <tt class="py-op">==</tt> <tt class="py-string">'a'</tt><tt class="py-op">:</tt> </tt>
 <a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line">                    <tt class="py-keyword">raise</tt> <tt class="py-name">ValueError</tt><tt class="py-op">(</tt><tt class="py-string">"dead and gone"</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1105', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1106" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1106', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1105" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1105', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1106" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1106', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1107" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1107', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"close"</tt><tt class="py-op">)</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1107" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1107', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"close"</tt><tt class="py-op">)</tt> </tt>
 <a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">"DONE"</tt> </tt>
 </div></div><a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"> </tt>
 <a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line">        <tt id="link-1108" class="py-name"><a title="lxml.etree._ElementTree.parser
@@ -2958,7 +2958,7 @@ 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-1109', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1110" 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-1110', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1111" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1111', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1110', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1111" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1111', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</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 class="py-keyword">try</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">done</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1112" class="py-name"><a title="lxml.etree
@@ -2986,23 +2986,23 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href
 <a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</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-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">                <tt class="py-name">events</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-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1118" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">                <tt class="py-name">events</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-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1118" 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-1118', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1119', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1120" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1119" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1119', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1120" 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-1120', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1121" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1121', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1122" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1122', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1121" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1121', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1122" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1122', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">comment</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</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 class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1123', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"comment-"</tt> <tt class="py-op">+</tt> <tt id="link-1124" class="py-name"><a title="lxml.etree.QName.text
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1123" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1123', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"comment-"</tt> <tt class="py-op">+</tt> <tt id="link-1124" class="py-name"><a title="lxml.etree.QName.text
 lxml.etree._Element.text
 lxml.etree._Entity.text
 lxml.objectify.ObjectifiedElement.text
@@ -3018,7 +3018,7 @@ 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1127" 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-1127', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1128" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1128', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">collect_ids</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1127', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1128" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1128', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">collect_ids</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
 <a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line"> </tt>
 <a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">        <tt id="link-1129" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1129', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1130" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-1130', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt id="link-1131" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1131', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--a--&gt;&lt;root xml:id="123"&gt;A&lt;!--b--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
@@ -3038,23 +3038,23 @@ lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
 </div><div id="ETreeOnlyTestCase.test_parser_target_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parser_target_comment-expanded"><a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1137', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1138" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1137" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1137', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1138" 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-1138', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</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 class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1139', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1140" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1139" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1139', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1140" 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-1140', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1141" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1141', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1142" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1142', 'data', 'link-1089');">data</a></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">events</tt><tt class="py-op">.</tt><tt id="link-1141" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1141', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1142" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1142', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">comment</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">text</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1143" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1143', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"comment-"</tt> <tt class="py-op">+</tt> <tt id="link-1144" class="py-name"><a title="lxml.etree.QName.text
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1143" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1143', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"comment-"</tt> <tt class="py-op">+</tt> <tt id="link-1144" class="py-name"><a title="lxml.etree.QName.text
 lxml.etree._Element.text
 lxml.etree._Entity.text
 lxml.objectify.ObjectifiedElement.text
@@ -3070,7 +3070,7 @@ 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-1146', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1147" 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-1147', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1148" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1148', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1147', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1148" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1148', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line"> </tt>
 <a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">        <tt id="link-1149" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1149', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1150" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-1150', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt id="link-1151" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1151', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--a--&gt;&lt;root&gt;A&lt;!--b--&gt;&lt;sub/&gt;&lt;!--c--&gt;B&lt;/root&gt;&lt;!--d--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
@@ -3089,23 +3089,23 @@ lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
 </div><div id="ETreeOnlyTestCase.test_parser_target_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parser_target_pi-expanded"><a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</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">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</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">events</tt><tt class="py-op">.</tt><tt id="link-1154" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1154', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1155" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1154" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1154', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1155" 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-1155', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1156" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1156', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1157" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1156" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1156', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1157" 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-1157', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</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-name">events</tt><tt class="py-op">.</tt><tt id="link-1158" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1158', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1159" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1159', 'data', 'link-1089');">data</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">events</tt><tt class="py-op">.</tt><tt id="link-1158" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1158', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1159" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1159', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">pi</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">target</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1160" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1160', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"pi-"</tt> <tt class="py-op">+</tt> <tt id="link-1161" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1161', 'target', 'link-674');">target</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt id="link-1162" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1162', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1160" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1160', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"pi-"</tt> <tt class="py-op">+</tt> <tt id="link-1161" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1161', 'target', 'link-685');">target</a></tt> <tt class="py-op">+</tt> <tt class="py-string">"-"</tt> <tt class="py-op">+</tt> <tt id="link-1162" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1162', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">"DONE"</tt> </tt>
 </div></div><a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line"> </tt>
@@ -3117,7 +3117,7 @@ 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-1164', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1165" 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-1165', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1166" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1166', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1165', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1166" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1166', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"> </tt>
 <a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line">        <tt id="link-1167" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1167', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1168" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-1168', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt id="link-1169" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1169', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?test a?&gt;&lt;root&gt;A&lt;?test b?&gt;B&lt;/root&gt;&lt;?test c?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
@@ -3135,21 +3135,21 @@ lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
 </div><div id="ETreeOnlyTestCase.test_parser_target_cdata-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parser_target_cdata-expanded"><a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 <a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1172" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1172', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1173" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1172" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1172', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1173" 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-1173', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1174" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1174', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1175" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1174" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1174', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1175" 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-1175', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</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-name">events</tt><tt class="py-op">.</tt><tt id="link-1176" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1176', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1177" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1177', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1176" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1176', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1177" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1177', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">"DONE"</tt> </tt>
 </div></div><a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"> </tt>
@@ -3161,7 +3161,7 @@ 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-1179', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1180" 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-1180', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1181" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1181', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1180', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1181" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1181', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
 <a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">                                      <tt class="py-name">strip_cdata</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
 <a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line"> </tt>
 <a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">        <tt id="link-1182" class="py-name"><a title="lxml.etree._ElementTree.parser
@@ -3180,23 +3180,23 @@ lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
 </div><div id="ETreeOnlyTestCase.test_parser_target_recover-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parser_target_recover-expanded"><a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</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-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</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 class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1187" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1187', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1188" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1077"></a><tt class="py-lineno">1077</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1187" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1187', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"start-"</tt> <tt class="py-op">+</tt> <tt id="link-1188" 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-1188', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</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-name">events</tt><tt class="py-op">.</tt><tt id="link-1189" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1189', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1190" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1189" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1189', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"end-"</tt> <tt class="py-op">+</tt> <tt id="link-1190" 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-1190', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">data</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">data</tt><tt class="py-op">)</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">events</tt><tt class="py-op">.</tt><tt id="link-1191" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1191', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1192" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1192', 'data', 'link-1089');">data</a></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">events</tt><tt class="py-op">.</tt><tt id="link-1191" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1191', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"data-"</tt> <tt class="py-op">+</tt> <tt id="link-1192" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-1192', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line">                <tt class="py-name">events</tt><tt class="py-op">.</tt><tt id="link-1193" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1193', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"close"</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">events</tt><tt class="py-op">.</tt><tt id="link-1193" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1193', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-string">"close"</tt><tt class="py-op">)</tt> </tt>
 <a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">"DONE"</tt> </tt>
 </div></div><a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line"> </tt>
 <a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line">        <tt id="link-1194" class="py-name"><a title="lxml.etree._ElementTree.parser
@@ -3207,7 +3207,7 @@ 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-1195', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1196" 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-1196', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1197" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1197', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1196', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt id="link-1197" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-1197', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</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-name">recover</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
 <a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line"> </tt>
 <a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line">        <tt id="link-1198" class="py-name"><a title="lxml.etree._ElementTree.parser
@@ -3395,7 +3395,7 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#
 <a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt class="py-op">[</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">iterator</tt> <tt class="py-op">=</tt> <tt id="link-1282" class="py-name"><a title="lxml.etree.iterwalk" class="py-name" href="#" onclick="return doclink('link-1282', 'iterwalk', 'link-1203');">iterwalk</a></tt><tt class="py-op">(</tt><tt id="link-1283" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1283', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">events</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt><tt class="py-string">'start-ns'</tt><tt class="py-op">,</tt><tt class="py-string">'end-ns'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L1166"></a><tt class="py-lineno">1166</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">event</tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt> <tt class="py-keyword">in</tt> <tt class="py-name">iterator</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">events</tt><tt class="py-op">.</tt><tt id="link-1284" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1284', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">event</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">events</tt><tt class="py-op">.</tt><tt id="link-1284" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1284', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">)</tt> </tt>
 <a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">event</tt> <tt class="py-op">==</tt> <tt class="py-string">'start'</tt><tt class="py-op">:</tt> </tt>
 <a name="L1169"></a><tt class="py-lineno">1169</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-1285" class="py-name"><a title="lxml.etree._Comment.tag
 lxml.etree._Element.tag
@@ -3443,7 +3443,7 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#
 <a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"> </tt>
 <a name="L1188"></a><tt class="py-lineno">1188</tt>  <tt class="py-line">        <tt class="py-name">counts</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
 <a name="L1189"></a><tt class="py-lineno">1189</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">event</tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt> <tt class="py-keyword">in</tt> <tt id="link-1298" class="py-name"><a title="lxml.etree.iterwalk" class="py-name" href="#" onclick="return doclink('link-1298', 'iterwalk', 'link-1203');">iterwalk</a></tt><tt class="py-op">(</tt><tt id="link-1299" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1299', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt class="py-name">counts</tt><tt class="py-op">.</tt><tt id="link-1300" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1300', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-1301" 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
+<a name="L1190"></a><tt class="py-lineno">1190</tt>  <tt class="py-line">            <tt class="py-name">counts</tt><tt class="py-op">.</tt><tt id="link-1300" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1300', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-1301" 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-1301', 'getiterator', 'link-1301');">getiterator</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="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 class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
@@ -3491,16 +3491,16 @@ xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclin
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1311', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1312" 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-1312', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1313" class="py-name" targets="Method lxml.html.CheckboxValues.add()=lxml.html.CheckboxValues-class.html#add,Method lxml.html.MultipleSelectOptions.add()=lxml.html.MultipleSelectOptions-class.html#add"><a title="lxml.html.CheckboxValues.add
 lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1313', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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>
-<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">        <tt id="link-1314" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1314', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1315" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1315', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
+<a name="L1210"></a><tt class="py-lineno">1210</tt>  <tt class="py-line">        <tt id="link-1314" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1314', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1315" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1315', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
 <a name="L1211"></a><tt class="py-lineno">1211</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1316" 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-1316', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1317" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1317', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1318" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1316', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1317" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1317', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1318" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1318', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">        <tt id="link-1319" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1319', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1320" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1320', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1212"></a><tt class="py-lineno">1212</tt>  <tt class="py-line">        <tt id="link-1319" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1319', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1320" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1320', 'getroot', 'link-763');">getroot</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 id="link-1321" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1321', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1322" class="py-name"><a title="lxml.etree.QName.text
 lxml.etree._Element.text
 lxml.etree._Entity.text
@@ -3550,16 +3550,16 @@ xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclin
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1332', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1333" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1333', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1334" class="py-name"><a title="lxml.html.CheckboxValues.add
 lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1334', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L1230"></a><tt class="py-lineno">1230</tt>  <tt class="py-line"> </tt>
-<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">        <tt id="link-1335" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1335', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1336" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1336', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
+<a name="L1231"></a><tt class="py-lineno">1231</tt>  <tt class="py-line">        <tt id="link-1335" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1335', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1336" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1336', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
 <a name="L1232"></a><tt class="py-lineno">1232</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1337" 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-1337', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1338" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1338', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1339" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1337', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1338" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1338', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1339" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1339', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1233"></a><tt class="py-lineno">1233</tt>  <tt class="py-line">        <tt id="link-1340" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1340', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1341" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1341', 'getroot', 'link-752');">getroot</a></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 id="link-1340" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1340', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1341" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1341', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</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 id="link-1342" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1342', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1343" class="py-name"><a title="lxml.etree.QName.text
 lxml.etree._Element.text
 lxml.etree._Entity.text
@@ -3609,16 +3609,16 @@ xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclin
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1354', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1355" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1355', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1356" class="py-name"><a title="lxml.html.CheckboxValues.add
 lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1356', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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>
-<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">        <tt id="link-1357" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1357', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1358" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1358', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">        <tt id="link-1357" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1357', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1358" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1358', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
 <a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1359" 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-1359', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1360" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1360', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1361" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1359', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1360" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1360', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1361" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1361', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line">        <tt id="link-1362" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1362', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1363" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1363', 'getroot', 'link-752');">getroot</a></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 id="link-1362" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1362', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1363" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1363', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</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-1364" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1364', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1365" class="py-name"><a title="lxml.etree.QName.text
 lxml.etree._Element.text
 lxml.etree._Entity.text
@@ -3666,16 +3666,16 @@ xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclin
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1375', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1376" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1376', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1377" class="py-name"><a title="lxml.html.CheckboxValues.add
 lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1377', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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 id="link-1378" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1378', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1379" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1379', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE a SYSTEM "%s"&gt;&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
+<a name="L1271"></a><tt class="py-lineno">1271</tt>  <tt class="py-line">        <tt id="link-1378" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1378', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1379" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1379', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE a SYSTEM "%s"&gt;&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
 <a name="L1272"></a><tt class="py-lineno">1272</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1380" 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-1380', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1381" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1381', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1382" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1380', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1381" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1381', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1382" class="py-name"><a title="lxml.etree._ElementTree.parser
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1382', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1273"></a><tt class="py-lineno">1273</tt>  <tt class="py-line">        <tt id="link-1383" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1383', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1384" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1384', 'getroot', 'link-752');">getroot</a></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 id="link-1383" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1383', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1384" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1384', 'getroot', 'link-763');">getroot</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L1275"></a><tt class="py-lineno">1275</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1386" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
@@ -3718,8011 +3718,7982 @@ xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclin
 <a name="L1284"></a><tt class="py-lineno">1284</tt>  <tt class="py-line"> </tt>
 <a name="L1285"></a><tt class="py-lineno">1285</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1286"></a><tt class="py-lineno">1286</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="L1287"></a><tt class="py-lineno">1287</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 id="link-1396" class="py-name"><a title="lxml.tests.common_imports.fileUrlInTestDir" class="py-name" href="#" onclick="return doclink('link-1396', 'fileUrlInTestDir', 'link-14');">fileUrlInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-name">test_url</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1288"></a><tt class="py-lineno">1288</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-1397" class="py-name"><a title="lxml.etree.Resolver.resolve_filename" class="py-name" href="#" onclick="return doclink('link-1397', 'resolve_filename', 'link-1373');">resolve_filename</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">                    <tt id="link-1398" class="py-name"><a title="lxml.tests.common_imports.fileUrlInTestDir" class="py-name" href="#" onclick="return doclink('link-1398', 'fileUrlInTestDir', 'link-14');">fileUrlInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.dtd'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1290"></a><tt class="py-lineno">1290</tt>  <tt class="py-line"> </tt>
-<a name="L1291"></a><tt class="py-lineno">1291</tt>  <tt class="py-line">        <tt id="link-1399" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1399', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1400" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1400', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1401" class="py-name"><a title="lxml.html.CheckboxValues.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1401', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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 id="link-1402" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1402', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1403" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1403', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE a SYSTEM "%s"&gt;&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
-<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1404" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L1287"></a><tt class="py-lineno">1287</tt>  <tt class="py-line">                <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt id="link-1396" class="py-name"><a title="lxml.tests.common_imports.fileUrlInTestDir" class="py-name" href="#" onclick="return doclink('link-1396', 'fileUrlInTestDir', 'link-14');">fileUrlInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-name">test_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L1288"></a><tt class="py-lineno">1288</tt>  <tt class="py-line">                <tt class="py-name">url</tt> <tt class="py-op">=</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt id="link-1397" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-1397', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'file://'</tt><tt class="py-op">,</tt> <tt class="py-string">'file:'</tt><tt class="py-op">)</tt>  <tt class="py-comment"># depends on libxml2 version</tt> </tt>
+<a name="L1289"></a><tt class="py-lineno">1289</tt>  <tt class="py-line">                <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-1398" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-1398', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt class="py-string">'file://'</tt><tt class="py-op">,</tt> <tt class="py-string">'file:'</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">url</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
+<a name="L1291"></a><tt class="py-lineno">1291</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-1399" class="py-name"><a title="lxml.etree.Resolver.resolve_filename" class="py-name" href="#" onclick="return doclink('link-1399', 'resolve_filename', 'link-1373');">resolve_filename</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-1400" class="py-name"><a title="lxml.tests.common_imports.fileUrlInTestDir" class="py-name" href="#" onclick="return doclink('link-1400', 'fileUrlInTestDir', 'link-14');">fileUrlInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.dtd'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L1293"></a><tt class="py-lineno">1293</tt>  <tt class="py-line"> </tt>
+<a name="L1294"></a><tt class="py-lineno">1294</tt>  <tt class="py-line">        <tt id="link-1401" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1401', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1402" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1402', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1403" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1403', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</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>
+<a name="L1296"></a><tt class="py-lineno">1296</tt>  <tt class="py-line">        <tt id="link-1404" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1404', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1405" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1405', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE a SYSTEM "%s"&gt;&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
+<a name="L1297"></a><tt class="py-lineno">1297</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1406" 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-1404', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1405" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1405', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1406" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1406', 'parser', 'link-800');">parser</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1295"></a><tt class="py-lineno">1295</tt>  <tt class="py-line">                     <tt id="link-1407" 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-1407', 'base_url', 'link-1407');">base_url</a></tt><tt class="py-op">=</tt><tt id="link-1408" class="py-name"><a title="lxml.tests.common_imports.fileUrlInTestDir" class="py-name" href="#" onclick="return doclink('link-1408', 'fileUrlInTestDir', 'link-14');">fileUrlInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'__test.xml'</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-1409" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1409', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1410" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1410', 'getroot', 'link-752');">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>
-<a name="L1298"></a><tt class="py-lineno">1298</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1412" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1406', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1407" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1407', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1408" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1408', 'parser', 'link-800');">parser</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1298"></a><tt class="py-lineno">1298</tt>  <tt class="py-line">                     <tt id="link-1409" 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-1409', 'base_url', 'link-1409');">base_url</a></tt><tt class="py-op">=</tt><tt id="link-1410" class="py-name"><a title="lxml.tests.common_imports.fileUrlInTestDir" class="py-name" href="#" onclick="return doclink('link-1410', 'fileUrlInTestDir', 'link-14');">fileUrlInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'__test.xml'</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 id="link-1411" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1411', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1412" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1412', 'getroot', 'link-763');">getroot</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1301"></a><tt class="py-lineno">1301</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1414" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1412', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt>    <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueA'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1300"></a><tt class="py-lineno">1300</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-215');">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-1414" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1414', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt>    <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueA'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">            <tt id="link-1415" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1415', 'root', 'link-215');">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-1416" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1414', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueB'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1301"></a><tt class="py-lineno">1301</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_resolve_file_dtd"></a><div id="ETreeOnlyTestCase.test_resolve_file_dtd-def"><a name="L1302"></a><tt class="py-lineno">1302</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_resolve_file_dtd-toggle" onclick="return toggle('ETreeOnlyTestCase.test_resolve_file_dtd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_file_dtd">test_resolve_file_dtd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_resolve_file_dtd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_resolve_file_dtd-expanded"><a name="L1303"></a><tt class="py-lineno">1303</tt>  <tt class="py-line">        <tt id="link-1415" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1416', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueB'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_resolve_file_dtd"></a><div id="ETreeOnlyTestCase.test_resolve_file_dtd-def"><a name="L1305"></a><tt class="py-lineno">1305</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_resolve_file_dtd-toggle" onclick="return toggle('ETreeOnlyTestCase.test_resolve_file_dtd');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_file_dtd">test_resolve_file_dtd</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_resolve_file_dtd-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_resolve_file_dtd-expanded"><a name="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">        <tt id="link-1417" 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-1415', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1416" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1417', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1418" 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-1416', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1417" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1418', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1419" 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-1417', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L1304"></a><tt class="py-lineno">1304</tt>  <tt class="py-line">        <tt id="link-1418" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1418', 'parser', 'link-800');">parser</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
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1419', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line">        <tt id="link-1420" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1420', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1421" 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-1419', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1420" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1421', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1422" 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-1420', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">attribute_defaults</tt><tt class="py-op">=</tt><tt class="py-name">True</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">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="L1306"></a><tt class="py-lineno">1306</tt>  <tt class="py-line">        <tt class="py-name">test_url</tt> <tt class="py-op">=</tt> <tt id="link-1421" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1421', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"__nosuch.dtd"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1307"></a><tt class="py-lineno">1307</tt>  <tt class="py-line"> </tt>
-<a name="L1308"></a><tt class="py-lineno">1308</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1309"></a><tt class="py-lineno">1309</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="L1310"></a><tt class="py-lineno">1310</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">test_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L1311"></a><tt class="py-lineno">1311</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-1422" class="py-name"><a title="lxml.etree.Resolver.resolve_file" class="py-name" href="#" onclick="return doclink('link-1422', 'resolve_file', 'link-1351');">resolve_file</a></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">open</tt><tt class="py-op">(</tt><tt id="link-1423" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-1423', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.dtd'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L1313"></a><tt class="py-lineno">1313</tt>  <tt class="py-line"> </tt>
-<a name="L1314"></a><tt class="py-lineno">1314</tt>  <tt class="py-line">        <tt id="link-1424" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1424', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1425" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1425', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1426" class="py-name"><a title="lxml.html.CheckboxValues.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1426', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line"> </tt>
-<a name="L1316"></a><tt class="py-lineno">1316</tt>  <tt class="py-line">        <tt id="link-1427" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1427', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1428" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1428', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE a SYSTEM "%s"&gt;&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
-<a name="L1317"></a><tt class="py-lineno">1317</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1429" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1422', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">attribute_defaults</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L1308"></a><tt class="py-lineno">1308</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="L1309"></a><tt class="py-lineno">1309</tt>  <tt class="py-line">        <tt class="py-name">test_url</tt> <tt class="py-op">=</tt> <tt id="link-1423" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1423', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"__nosuch.dtd"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1310"></a><tt class="py-lineno">1310</tt>  <tt class="py-line"> </tt>
+<a name="L1311"></a><tt class="py-lineno">1311</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1312"></a><tt class="py-lineno">1312</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="L1313"></a><tt class="py-lineno">1313</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">test_url</tt><tt class="py-op">)</tt> </tt>
+<a name="L1314"></a><tt class="py-lineno">1314</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-1424" class="py-name"><a title="lxml.etree.Resolver.resolve_file" class="py-name" href="#" onclick="return doclink('link-1424', 'resolve_file', 'link-1351');">resolve_file</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L1315"></a><tt class="py-lineno">1315</tt>  <tt class="py-line">                    <tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-1425" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-1425', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.dtd'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><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 id="link-1426" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1426', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1427" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1427', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1428" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1428', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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 id="link-1429" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1429', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1430" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1430', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE a SYSTEM "%s"&gt;&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</tt> </tt>
+<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1431" 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-1429', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1430" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1430', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1431" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1431', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1318"></a><tt class="py-lineno">1318</tt>  <tt class="py-line">        <tt id="link-1432" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1432', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1433" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1433', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</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>
-<a name="L1320"></a><tt class="py-lineno">1320</tt>  <tt class="py-line">            <tt id="link-1434" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1434', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1435" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1431', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1432" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1432', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1433" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1433', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1321"></a><tt class="py-lineno">1321</tt>  <tt class="py-line">        <tt id="link-1434" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1434', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1435" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1435', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-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="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line">            <tt id="link-1436" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1436', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1437" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1435', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt>    <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueA'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1322"></a><tt class="py-lineno">1322</tt>  <tt class="py-line">            <tt id="link-1436" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1436', 'root', 'link-215');">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-1437" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1437', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt>    <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueA'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1325"></a><tt class="py-lineno">1325</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-215');">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-1439" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1437', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueB'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1323"></a><tt class="py-lineno">1323</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_resolve_empty"></a><div id="ETreeOnlyTestCase.test_resolve_empty-def"><a name="L1324"></a><tt class="py-lineno">1324</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_resolve_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_resolve_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_empty">test_resolve_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="ETreeOnlyTestCase.test_resolve_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_resolve_empty-expanded"><a name="L1325"></a><tt class="py-lineno">1325</tt>  <tt class="py-line">        <tt id="link-1438" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1439', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">'default'</tt><tt class="py-op">:</tt> <tt class="py-string">'valueB'</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="ETreeOnlyTestCase.test_resolve_empty"></a><div id="ETreeOnlyTestCase.test_resolve_empty-def"><a name="L1327"></a><tt class="py-lineno">1327</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_resolve_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_resolve_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_empty">test_resolve_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="ETreeOnlyTestCase.test_resolve_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_resolve_empty-expanded"><a name="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">        <tt id="link-1440" 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-1438', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1439" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1440', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1441" 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-1439', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1440" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1441', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1442" 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-1440', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L1326"></a><tt class="py-lineno">1326</tt>  <tt class="py-line">        <tt id="link-1441" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1441', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1442" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1442', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line">        <tt id="link-1443" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1443', 'parser', 'link-800');">parser</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
 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-1442', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1443" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1444', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1445" 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-1443', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">load_dtd</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L1327"></a><tt class="py-lineno">1327</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="L1328"></a><tt class="py-lineno">1328</tt>  <tt class="py-line">        <tt class="py-name">test_url</tt> <tt class="py-op">=</tt> <tt id="link-1444" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1444', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"__nosuch.dtd"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1329"></a><tt class="py-lineno">1329</tt>  <tt class="py-line"> </tt>
-<a name="L1330"></a><tt class="py-lineno">1330</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">check</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">            <tt class="py-name">resolved</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
-</div><a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line"> </tt>
-<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1334"></a><tt class="py-lineno">1334</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="L1335"></a><tt class="py-lineno">1335</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">test_url</tt><tt class="py-op">)</tt> </tt>
-<a name="L1336"></a><tt class="py-lineno">1336</tt>  <tt class="py-line">                <tt class="py-name">check</tt><tt class="py-op">.</tt><tt class="py-name">resolved</tt> <tt class="py-op">=</tt> <tt class="py-name">True</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-name">self</tt><tt class="py-op">.</tt><tt id="link-1445" class="py-name" targets="Method lxml.etree.Resolver.resolve_empty()=lxml.etree.Resolver-class.html#resolve_empty"><a title="lxml.etree.Resolver.resolve_empty" class="py-name" href="#" onclick="return doclink('link-1445', 'resolve_empty', 'link-1445');">resolve_empty</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></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-1446" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1446', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1447" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1447', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1448" class="py-name"><a title="lxml.html.CheckboxValues.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1448', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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 id="link-1449" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1449', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1450" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1450', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</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">assertRaises</tt><tt class="py-op">(</tt><tt id="link-1451" 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-1451', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1452" class="py-name"><a title="lxml.etree.XMLSyntaxError" class="py-name" href="#" onclick="return doclink('link-1452', 'XMLSyntaxError', 'link-894');">XMLSyntaxError</a></tt><tt class="py-op">,</tt> <tt id="link-1453" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1445', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">load_dtd</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L1330"></a><tt class="py-lineno">1330</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="L1331"></a><tt class="py-lineno">1331</tt>  <tt class="py-line">        <tt class="py-name">test_url</tt> <tt class="py-op">=</tt> <tt id="link-1446" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1446', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"__nosuch.dtd"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1332"></a><tt class="py-lineno">1332</tt>  <tt class="py-line"> </tt>
+<a name="L1333"></a><tt class="py-lineno">1333</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">check</tt><tt class="py-op">(</tt><tt class="py-base-class">object</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">resolved</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+</div><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">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1337"></a><tt class="py-lineno">1337</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="L1338"></a><tt class="py-lineno">1338</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">test_url</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">check</tt><tt class="py-op">.</tt><tt class="py-name">resolved</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L1340"></a><tt class="py-lineno">1340</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-1447" class="py-name" targets="Method lxml.etree.Resolver.resolve_empty()=lxml.etree.Resolver-class.html#resolve_empty"><a title="lxml.etree.Resolver.resolve_empty" class="py-name" href="#" onclick="return doclink('link-1447', 'resolve_empty', 'link-1447');">resolve_empty</a></tt><tt class="py-op">(</tt><tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><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 id="link-1448" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1448', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1449" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1449', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1450" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1450', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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 id="link-1451" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1451', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1452" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1452', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "%s"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> <tt class="py-op">%</tt> <tt class="py-name">test_url</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">assertRaises</tt><tt class="py-op">(</tt><tt id="link-1453" 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-1453', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1454" class="py-name"><a title="lxml.etree.XMLSyntaxError" class="py-name" href="#" onclick="return doclink('link-1454', 'XMLSyntaxError', 'link-894');">XMLSyntaxError</a></tt><tt class="py-op">,</tt> <tt id="link-1455" 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-1453', 'parse', 'link-809');">parse</a></tt><tt class="py-op">,</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1454" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1454', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1455" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1455', 'parser', 'link-800');">parser</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">assertTrue</tt><tt class="py-op">(</tt><tt class="py-name">check</tt><tt class="py-op">.</tt><tt class="py-name">resolved</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1344"></a><tt class="py-lineno">1344</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_resolve_error"></a><div id="ETreeOnlyTestCase.test_resolve_error-def"><a name="L1345"></a><tt class="py-lineno">1345</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_resolve_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_resolve_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_error">test_resolve_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="ETreeOnlyTestCase.test_resolve_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_resolve_error-expanded"><a name="L1346"></a><tt class="py-lineno">1346</tt>  <tt class="py-line">        <tt id="link-1456" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1455', 'parse', 'link-809');">parse</a></tt><tt class="py-op">,</tt> <tt class="py-name">StringIO</tt><tt class="py-op">(</tt><tt id="link-1456" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1456', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1457" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1457', 'parser', 'link-800');">parser</a></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 class="py-name">check</tt><tt class="py-op">.</tt><tt class="py-name">resolved</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_resolve_error"></a><div id="ETreeOnlyTestCase.test_resolve_error-def"><a name="L1348"></a><tt class="py-lineno">1348</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_resolve_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_resolve_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_resolve_error">test_resolve_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="ETreeOnlyTestCase.test_resolve_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_resolve_error-expanded"><a name="L1349"></a><tt class="py-lineno">1349</tt>  <tt class="py-line">        <tt id="link-1458" 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-1456', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1457" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1458', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1459" 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-1457', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1458" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1459', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1460" 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-1458', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L1347"></a><tt class="py-lineno">1347</tt>  <tt class="py-line">        <tt id="link-1459" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1459', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1460" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1460', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">        <tt id="link-1461" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1461', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1462" 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-1460', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1461" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1462', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1463" 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-1461', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">dtd_validation</tt><tt class="py-op">=</tt><tt class="py-name">True</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 class="py-keyword">class</tt> <tt class="py-def-name">_LocalException</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="L1350"></a><tt class="py-lineno">1350</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line"> </tt>
-<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1353"></a><tt class="py-lineno">1353</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="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">_LocalException</tt> </tt>
-</div></div><a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line"> </tt>
-<a name="L1356"></a><tt class="py-lineno">1356</tt>  <tt class="py-line">        <tt id="link-1462" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1462', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1463" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1463', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1464" class="py-name"><a title="lxml.html.CheckboxValues.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1464', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line"> </tt>
-<a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line">        <tt id="link-1465" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1465', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "test"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt> </tt>
-<a name="L1359"></a><tt class="py-lineno">1359</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">_LocalException</tt><tt class="py-op">,</tt> <tt id="link-1466" class="py-name"><a title="lxml.etree._ElementTree.parse
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1463', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">dtd_validation</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L1351"></a><tt class="py-lineno">1351</tt>  <tt class="py-line"> </tt>
+<a name="L1352"></a><tt class="py-lineno">1352</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">_LocalException</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="L1353"></a><tt class="py-lineno">1353</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L1354"></a><tt class="py-lineno">1354</tt>  <tt class="py-line"> </tt>
+<a name="L1355"></a><tt class="py-lineno">1355</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">MyResolver</tt><tt class="py-op">(</tt><tt class="py-base-class">self</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="L1356"></a><tt class="py-lineno">1356</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="L1357"></a><tt class="py-lineno">1357</tt>  <tt class="py-line">                <tt class="py-keyword">raise</tt> <tt class="py-name">_LocalException</tt> </tt>
+</div></div><a name="L1358"></a><tt class="py-lineno">1358</tt>  <tt class="py-line"> </tt>
+<a name="L1359"></a><tt class="py-lineno">1359</tt>  <tt class="py-line">        <tt id="link-1464" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1464', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-1465" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-1465', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-1466" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-1466', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">MyResolver</tt><tt class="py-op">(</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>
+<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">        <tt id="link-1467" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1467', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "test"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">_LocalException</tt><tt class="py-op">,</tt> <tt id="link-1468" 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-1466', 'parse', 'link-809');">parse</a></tt><tt class="py-op">,</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-1467" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1467', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1468" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1468', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1360"></a><tt class="py-lineno">1360</tt>  <tt class="py-line"> </tt>
-<a name="L1361"></a><tt class="py-lineno">1361</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-1469" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1468', 'parse', 'link-809');">parse</a></tt><tt class="py-op">,</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-1469" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1469', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1470" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1470', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line"> </tt>
+<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt id="link-1471" 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-1469', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1470" class="py-name"><a title="lxml.etree.LIBXML_VERSION" class="py-name" href="#" onclick="return doclink('link-1470', 'LIBXML_VERSION', 'link-29');">LIBXML_VERSION</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">6</tt><tt class="py-op">,</tt><tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="ETreeOnlyTestCase.test_entity_parse"></a><div id="ETreeOnlyTestCase.test_entity_parse-def"><a name="L1362"></a><tt class="py-lineno">1362</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_parse-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_parse');">-</a><tt class="py-line">        <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_parse">test_entity_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="ETreeOnlyTestCase.test_entity_parse-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++"></div><div id="ETreeOnlyTestCase.test_entity_parse-expanded"><a name="L1363"></a><tt class="py-lineno">1363</tt>  <tt class="py-line">            <tt id="link-1471" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1471', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1472" class="py-name"><a title="lxml.etree.LIBXML_VERSION" class="py-name" href="#" onclick="return doclink('link-1472', 'LIBXML_VERSION', 'link-29');">LIBXML_VERSION</a></tt> <tt class="py-op">&gt;</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">6</tt><tt class="py-op">,</tt><tt class="py-number">20</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="ETreeOnlyTestCase.test_entity_parse"></a><div id="ETreeOnlyTestCase.test_entity_parse-def"><a name="L1365"></a><tt class="py-lineno">1365</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_parse-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_parse');">-</a><tt class="py-line">        <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_parse">test_entity_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="ETreeOnlyTestCase.test_entity_parse-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++"></div><div id="ETreeOnlyTestCase.test_entity_parse-expanded"><a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">            <tt id="link-1473" 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-1471', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1472" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1473', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1474" 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-1472', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1473" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1474', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1475" 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-1473', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L1364"></a><tt class="py-lineno">1364</tt>  <tt class="py-line">            <tt id="link-1474" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1474', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1475" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1475', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line">            <tt id="link-1476" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1476', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1477" 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-1475', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1476" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1476', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L1365"></a><tt class="py-lineno">1365</tt>  <tt class="py-line">            <tt id="link-1477" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1477', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1478" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1477', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1478" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1478', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">            <tt id="link-1479" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1479', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1480" 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-1478', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1479" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1480', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1481" 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-1479', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">resolve_entities</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1366"></a><tt class="py-lineno">1366</tt>  <tt class="py-line">            <tt id="link-1480" class="py-name" targets="Function lxml.etree.Entity()=lxml.etree-module.html#Entity"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1480', 'Entity', 'link-1480');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1481" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1481', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">resolve_entities</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">            <tt id="link-1482" class="py-name" targets="Function lxml.etree.Entity()=lxml.etree-module.html#Entity"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1482', 'Entity', 'link-1482');">Entity</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
 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-1481', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1482" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1482', 'Entity', 'link-1480');">Entity</a></tt> </tt>
-<a name="L1367"></a><tt class="py-lineno">1367</tt>  <tt class="py-line"> </tt>
-<a name="L1368"></a><tt class="py-lineno">1368</tt>  <tt class="py-line">            <tt id="link-1483" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1483', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1484" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1484', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "test"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1369"></a><tt class="py-lineno">1369</tt>  <tt class="py-line">            <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-1485" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1483', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1484" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1484', 'Entity', 'link-1482');">Entity</a></tt> </tt>
+<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line"> </tt>
+<a name="L1371"></a><tt class="py-lineno">1371</tt>  <tt class="py-line">            <tt id="link-1485" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1485', 'xml', 'link-319');">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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE doc SYSTEM "test"&gt;&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</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">tree</tt> <tt class="py-op">=</tt> <tt id="link-1487" 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-1485', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-1486" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1486', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1487" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1487', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1370"></a><tt class="py-lineno">1370</tt>  <tt class="py-line">            <tt id="link-1488" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1488', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1489" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1489', 'getroot', 'link-752');">getroot</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1490" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1490', 'root', 'link-215');">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-1491" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-1487', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-1488" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1488', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1489" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1489', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1373"></a><tt class="py-lineno">1373</tt>  <tt class="py-line">            <tt id="link-1490" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1490', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-1491" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-1491', 'getroot', 'link-763');">getroot</a></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 id="link-1492" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1492', 'root', 'link-215');">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-1493" 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-1491', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt id="link-1492" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1492', 'Entity', 'link-1480');">Entity</a></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 id="link-1493" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1493', 'root', 'link-215');">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-1494" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1493', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt id="link-1494" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1494', 'Entity', 'link-1482');">Entity</a></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 id="link-1495" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1495', 'root', 'link-215');">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-1496" 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-1494', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"&amp;myentity;"</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 id="link-1495" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1495', 'root', 'link-215');">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-1496" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1496', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</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 id="link-1497" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1497', 'root', 'link-215');">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-1498" class="py-name"><a title="lxml.etree.DTD.name
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1496', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"&amp;myentity;"</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 id="link-1497" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1497', 'root', 'link-215');">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-1498" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1498', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</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 id="link-1499" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1499', 'root', 'link-215');">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-1500" 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-1498', 'name', 'link-855');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">"myentity"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1375"></a><tt class="py-lineno">1375</tt>  <tt class="py-line"> </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 id="link-1499" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1499', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</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 id="link-1500" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1500', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_entity_restructure"></a><div id="ETreeOnlyTestCase.test_entity_restructure-def"><a name="L1379"></a><tt class="py-lineno">1379</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_restructure-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_restructure');">-</a><tt class="py-line">        <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_restructure">test_entity_restructure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_entity_restructure-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++"></div><div id="ETreeOnlyTestCase.test_entity_restructure-expanded"><a name="L1380"></a><tt class="py-lineno">1380</tt>  <tt class="py-line">            <tt id="link-1502" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1502', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-1503" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1503', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''&lt;!DOCTYPE root [ &lt;!ENTITY nbsp "&amp;#160;"&gt; ]&gt;</tt> </tt>
-<a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"><tt class="py-string">                &lt;root&gt;</tt> </tt>
-<a name="L1382"></a><tt class="py-lineno">1382</tt>  <tt class="py-line"><tt class="py-string">                  &lt;child1/&gt;</tt> </tt>
-<a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line"><tt class="py-string">                  &lt;child2/&gt;</tt> </tt>
-<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line"><tt class="py-string">                  &lt;child3&gt;&amp;nbsp;&lt;/child3&gt;</tt> </tt>
-<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line"><tt class="py-string">                &lt;/root&gt;'''</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 id="link-1504" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1504', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1505" 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-1505', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1506" class="py-name"><a title="lxml.etree.XMLParser
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1500', 'name', 'link-855');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">"myentity"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1378"></a><tt class="py-lineno">1378</tt>  <tt class="py-line"> </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 id="link-1501" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1501', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&amp;myentity;&lt;/doc&gt;'</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 id="link-1502" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1502', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1503" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1503', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1381"></a><tt class="py-lineno">1381</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_entity_restructure"></a><div id="ETreeOnlyTestCase.test_entity_restructure-def"><a name="L1382"></a><tt class="py-lineno">1382</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_restructure-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_restructure');">-</a><tt class="py-line">        <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_restructure">test_entity_restructure</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_entity_restructure-collapsed" style="display:none;" pad="++++" indent="++++++++++++++++"></div><div id="ETreeOnlyTestCase.test_entity_restructure-expanded"><a name="L1383"></a><tt class="py-lineno">1383</tt>  <tt class="py-line">            <tt id="link-1504" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1504', 'xml', 'link-319');">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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''&lt;!DOCTYPE root [ &lt;!ENTITY nbsp "&amp;#160;"&gt; ]&gt;</tt> </tt>
+<a name="L1384"></a><tt class="py-lineno">1384</tt>  <tt class="py-line"><tt class="py-string">                &lt;root&gt;</tt> </tt>
+<a name="L1385"></a><tt class="py-lineno">1385</tt>  <tt class="py-line"><tt class="py-string">                  &lt;child1/&gt;</tt> </tt>
+<a name="L1386"></a><tt class="py-lineno">1386</tt>  <tt class="py-line"><tt class="py-string">                  &lt;child2/&gt;</tt> </tt>
+<a name="L1387"></a><tt class="py-lineno">1387</tt>  <tt class="py-line"><tt class="py-string">                  &lt;child3&gt;&amp;nbsp;&lt;/child3&gt;</tt> </tt>
+<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line"><tt class="py-string">                &lt;/root&gt;'''</tt><tt class="py-op">)</tt> </tt>
+<a name="L1389"></a><tt class="py-lineno">1389</tt>  <tt class="py-line"> </tt>
+<a name="L1390"></a><tt class="py-lineno">1390</tt>  <tt class="py-line">            <tt id="link-1506" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1506', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1507" 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-1507', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1508" 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-1506', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">resolve_entities</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1388"></a><tt class="py-lineno">1388</tt>  <tt class="py-line">            <tt id="link-1507" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1507', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1508" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1508', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">resolve_entities</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line">            <tt id="link-1509" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1509', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1510" 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-1508', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1509" class="py-name"><a title="lxml.etree.fromstring
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1510', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1511" 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-1509', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-1510" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1510', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-1511" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1511', 'parser', 'link-800');">parser</a></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">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-name">el</tt><tt class="py-op">.</tt><tt id="link-1512" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-1511', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-1512" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-1512', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-1513" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1513', 'parser', 'link-800');">parser</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">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-name">el</tt><tt class="py-op">.</tt><tt id="link-1514" 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-1512', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-1513" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1513', 'root', 'link-215');">root</a></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 class="py-op">[</tt><tt class="py-string">'child1'</tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">,</tt> <tt class="py-string">'child3'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1391"></a><tt class="py-lineno">1391</tt>  <tt class="py-line"> </tt>
-<a name="L1392"></a><tt class="py-lineno">1392</tt>  <tt class="py-line">            <tt id="link-1514" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1514', 'root', 'link-215');">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-1515" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1515', 'root', 'link-215');">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="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">            <tt 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-name">el</tt><tt class="py-op">.</tt><tt id="link-1516" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1514', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-1515" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1515', 'root', 'link-215');">root</a></tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L1393"></a><tt class="py-lineno">1393</tt>  <tt class="py-line">                              <tt class="py-op">[</tt><tt class="py-string">'child1'</tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">,</tt> <tt class="py-string">'child3'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line"> </tt>
+<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">            <tt id="link-1516" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1516', 'root', 'link-215');">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-1517" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1517', 'root', 'link-215');">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="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">            <tt 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-name">el</tt><tt class="py-op">.</tt><tt id="link-1518" 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-1516', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</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-215');">root</a></tt> <tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1394"></a><tt class="py-lineno">1394</tt>  <tt class="py-line">                              <tt class="py-op">[</tt><tt class="py-string">'child3'</tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L1395"></a><tt class="py-lineno">1395</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1518" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1518', 'root', 'link-215');">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-1519" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1518', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-1519" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1519', 'root', 'link-215');">root</a></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 class="py-op">[</tt><tt class="py-string">'child3'</tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1520" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1520', 'root', 'link-215');">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-1521" 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-1519', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;nbsp;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1396"></a><tt class="py-lineno">1396</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1520" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1520', 'root', 'link-215');">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-1521" class="py-name"><a title="lxml.etree.DTD.name
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1521', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;nbsp;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1522" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1522', 'root', 'link-215');">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-1523" 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-1521', 'name', 'link-855');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nbsp'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1397"></a><tt class="py-lineno">1397</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_entity_append"></a><div id="ETreeOnlyTestCase.test_entity_append-def"><a name="L1398"></a><tt class="py-lineno">1398</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_append-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_append');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_append">test_entity_append</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_entity_append-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_entity_append-expanded"><a name="L1399"></a><tt class="py-lineno">1399</tt>  <tt class="py-line">        <tt id="link-1522" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1522', 'Entity', 'link-1480');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1523" class="py-name"><a title="lxml.etree
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1523', 'name', 'link-855');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nbsp'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_entity_append"></a><div id="ETreeOnlyTestCase.test_entity_append-def"><a name="L1401"></a><tt class="py-lineno">1401</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_append-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_append');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_append">test_entity_append</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_entity_append-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_entity_append-expanded"><a name="L1402"></a><tt class="py-lineno">1402</tt>  <tt class="py-line">        <tt id="link-1524" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1524', 'Entity', 'link-1482');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1525" 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-1523', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1524" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1524', 'Entity', 'link-1480');">Entity</a></tt> </tt>
-<a name="L1400"></a><tt class="py-lineno">1400</tt>  <tt class="py-line">        <tt id="link-1525" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1525', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1526" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1526', 'Entity', 'link-1482');">Entity</a></tt> </tt>
+<a name="L1403"></a><tt class="py-lineno">1403</tt>  <tt class="py-line">        <tt id="link-1527" 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-1525', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1526" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1527', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1528" 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-1526', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1527" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1528', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1529" 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-1527', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1401"></a><tt class="py-lineno">1401</tt>  <tt class="py-line">        <tt id="link-1528" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1528', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1529" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1529', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">        <tt id="link-1530" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1530', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1531" 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-1529', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1530" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1530', 'tostring', 'link-649');">tostring</a></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-1531" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1531', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1532" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1531', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1532" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1532', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"> </tt>
+<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">        <tt id="link-1533" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1533', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1534" 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-1532', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1404"></a><tt class="py-lineno">1404</tt>  <tt class="py-line">        <tt id="link-1533" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1533', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1534" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1534', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt> <tt id="link-1535" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1535', 'Entity', 'link-1480');">Entity</a></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="L1405"></a><tt class="py-lineno">1405</tt>  <tt class="py-line"> </tt>
-<a name="L1406"></a><tt class="py-lineno">1406</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</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-215');">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-1537" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1534', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1407"></a><tt class="py-lineno">1407</tt>  <tt class="py-line">        <tt id="link-1535" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1535', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1536" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1536', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt> <tt id="link-1537" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1537', 'Entity', 'link-1482');">Entity</a></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="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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1538" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1538', 'root', 'link-215');">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-1539" 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-1537', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt id="link-1538" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1538', 'Entity', 'link-1480');">Entity</a></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 id="link-1539" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1539', 'root', 'link-215');">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-1540" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1539', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt id="link-1540" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1540', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1541" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1541', 'root', 'link-215');">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-1542" 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-1540', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"&amp;test;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1408"></a><tt class="py-lineno">1408</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1541" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1541', 'root', 'link-215');">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-1542" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1542', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L1409"></a><tt class="py-lineno">1409</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</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-215');">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-1544" class="py-name"><a title="lxml.etree.DTD.name
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1542', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"&amp;test;"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</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-215');">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-1544" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1544', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L1412"></a><tt class="py-lineno">1412</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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-215');">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-1546" 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-1544', 'name', 'link-855');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1410"></a><tt class="py-lineno">1410</tt>  <tt class="py-line"> </tt>
-<a name="L1411"></a><tt class="py-lineno">1411</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1545" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1545', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&amp;test;&lt;/root&gt;'</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-1546" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1546', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1547" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1547', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1413"></a><tt class="py-lineno">1413</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_entity_values"></a><div id="ETreeOnlyTestCase.test_entity_values-def"><a name="L1414"></a><tt class="py-lineno">1414</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_values-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_values');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_values">test_entity_values</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_entity_values-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_entity_values-expanded"><a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">        <tt id="link-1548" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1548', 'Entity', 'link-1480');">Entity</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
+lxml.objectify.PyType.name" class="py-name" href="#" onclick="return doclink('link-1546', 'name', 'link-855');">name</a></tt><tt class="py-op">,</tt> <tt class="py-string">"test"</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1547" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1547', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&amp;test;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1415"></a><tt class="py-lineno">1415</tt>  <tt class="py-line">                          <tt id="link-1548" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1548', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1416"></a><tt class="py-lineno">1416</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_entity_values"></a><div id="ETreeOnlyTestCase.test_entity_values-def"><a name="L1417"></a><tt class="py-lineno">1417</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_values-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_values');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_values">test_entity_values</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_entity_values-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_entity_values-expanded"><a name="L1418"></a><tt class="py-lineno">1418</tt>  <tt class="py-line">        <tt id="link-1550" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1550', 'Entity', 'link-1482');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1551" 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-1549', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1550" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1550', 'Entity', 'link-1480');">Entity</a></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 id="link-1551" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1551', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1552" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1551', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1552" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1552', 'Entity', 'link-1482');">Entity</a></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 id="link-1553" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1553', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1554" 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-1552', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;test;'</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 id="link-1553" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1553', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"#17683"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1554" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1554', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;test;'</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 id="link-1555" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1555', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"#17683"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1556" 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-1554', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#17683;'</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 id="link-1555" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1555', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"#x1768"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1556" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1556', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#17683;'</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 id="link-1557" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1557', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"#x1768"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1558" 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-1556', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#x1768;'</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 id="link-1557" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1557', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"#x98AF"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1558" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1558', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#x1768;'</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 id="link-1559" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1559', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"#x98AF"</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-1560" 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-1558', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#x98AF;'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1420"></a><tt class="py-lineno">1420</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_entity_error"></a><div id="ETreeOnlyTestCase.test_entity_error-def"><a name="L1421"></a><tt class="py-lineno">1421</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_error">test_entity_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="ETreeOnlyTestCase.test_entity_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_entity_error-expanded"><a name="L1422"></a><tt class="py-lineno">1422</tt>  <tt class="py-line">        <tt id="link-1559" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1559', 'Entity', 'link-1480');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1560" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1560', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&amp;#x98AF;'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1423"></a><tt class="py-lineno">1423</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_entity_error"></a><div id="ETreeOnlyTestCase.test_entity_error-def"><a name="L1424"></a><tt class="py-lineno">1424</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_entity_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_entity_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_entity_error">test_entity_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="ETreeOnlyTestCase.test_entity_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_entity_error-expanded"><a name="L1425"></a><tt class="py-lineno">1425</tt>  <tt class="py-line">        <tt id="link-1561" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1561', 'Entity', 'link-1482');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1562" 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-1560', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1561" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1561', 'Entity', 'link-1480');">Entity</a></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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1562" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1562', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a b c'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1563" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1563', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a,b'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1564" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1564', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a\0b'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1565" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1565', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'#abc'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1566" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1566', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'#xxyz'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1428"></a><tt class="py-lineno">1428</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_cdata"></a><div id="ETreeOnlyTestCase.test_cdata-def"><a name="L1429"></a><tt class="py-lineno">1429</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata">test_cdata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_cdata-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata-expanded"><a name="L1430"></a><tt class="py-lineno">1430</tt>  <tt class="py-line">        <tt id="link-1567" class="py-name" targets="Class lxml.etree.CDATA=lxml.etree.CDATA-class.html"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1567', 'CDATA', 'link-1567');">CDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1568" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1562', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1563" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1563', 'Entity', 'link-1482');">Entity</a></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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1564" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1564', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a b c'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1565" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1565', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a,b'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1566" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1566', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a\0b'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1567" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1567', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'#abc'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1430"></a><tt class="py-lineno">1430</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-1568" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-1568', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">,</tt> <tt class="py-string">'#xxyz'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_cdata"></a><div id="ETreeOnlyTestCase.test_cdata-def"><a name="L1432"></a><tt class="py-lineno">1432</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata">test_cdata</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_cdata-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata-expanded"><a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line">        <tt id="link-1569" class="py-name" targets="Class lxml.etree.CDATA=lxml.etree.CDATA-class.html"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1569', 'CDATA', 'link-1569');">CDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1570" 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-1568', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1569" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1569', 'CDATA', 'link-1567');">CDATA</a></tt> </tt>
-<a name="L1431"></a><tt class="py-lineno">1431</tt>  <tt class="py-line">        <tt id="link-1570" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1570', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1571" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1571', 'CDATA', 'link-1569');">CDATA</a></tt> </tt>
+<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt id="link-1572" 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-1570', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1571" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1572', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1573" 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-1571', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1572" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1573', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1574" 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-1572', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1432"></a><tt class="py-lineno">1432</tt>  <tt class="py-line">        <tt id="link-1573" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1573', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1574" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1574', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1435"></a><tt class="py-lineno">1435</tt>  <tt class="py-line">        <tt id="link-1575" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1575', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1576" 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-1574', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1575" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1575', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L1433"></a><tt class="py-lineno">1433</tt>  <tt class="py-line"> </tt>
-<a name="L1434"></a><tt class="py-lineno">1434</tt>  <tt class="py-line">        <tt id="link-1576" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1576', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1577" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1576', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1577" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1577', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line"> </tt>
+<a name="L1437"></a><tt class="py-lineno">1437</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1579" 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-1577', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1435"></a><tt class="py-lineno">1435</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1579" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1579', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">        <tt id="link-1580" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1580', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1581" 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-1579', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-1580" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1580', 'CDATA', 'link-1567');">CDATA</a></tt><tt class="py-op">(</tt><tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1436"></a><tt class="py-lineno">1436</tt>  <tt class="py-line"> </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">'test'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1438"></a><tt class="py-lineno">1438</tt>  <tt class="py-line">                          <tt id="link-1581" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1581', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1582" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1581', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-1582" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1582', 'CDATA', 'link-1569');">CDATA</a></tt><tt class="py-op">(</tt><tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1439"></a><tt class="py-lineno">1439</tt>  <tt class="py-line"> </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-string">'test'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line">                          <tt id="link-1583" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1583', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1584" 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-1582', 'text', 'link-189');">text</a></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 id="link-1583" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1583', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</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 id="link-1584" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1584', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1585" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1585', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1441"></a><tt class="py-lineno">1441</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_cdata_type"></a><div id="ETreeOnlyTestCase.test_cdata_type-def"><a name="L1442"></a><tt class="py-lineno">1442</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_type-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_type">test_cdata_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_cdata_type-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_type-expanded"><a name="L1443"></a><tt class="py-lineno">1443</tt>  <tt class="py-line">        <tt id="link-1586" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1586', 'CDATA', 'link-1567');">CDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1587" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1584', 'text', 'link-189');">text</a></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 id="link-1585" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1585', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</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-1586" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1586', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1587" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1587', 'root', 'link-215');">root</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="ETreeOnlyTestCase.test_cdata_type"></a><div id="ETreeOnlyTestCase.test_cdata_type-def"><a name="L1445"></a><tt class="py-lineno">1445</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_type-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_type');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_type">test_cdata_type</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_cdata_type-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_type-expanded"><a name="L1446"></a><tt class="py-lineno">1446</tt>  <tt class="py-line">        <tt id="link-1588" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1588', 'CDATA', 'link-1569');">CDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1589" 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-1587', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1588" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1588', 'CDATA', 'link-1567');">CDATA</a></tt> </tt>
-<a name="L1444"></a><tt class="py-lineno">1444</tt>  <tt class="py-line">        <tt id="link-1589" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1589', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1590" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1590', 'CDATA', 'link-1569');">CDATA</a></tt> </tt>
+<a name="L1447"></a><tt class="py-lineno">1447</tt>  <tt class="py-line">        <tt id="link-1591" 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-1589', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1590" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1591', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1592" 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-1590', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1591" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1592', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1593" 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-1591', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1445"></a><tt class="py-lineno">1445</tt>  <tt class="py-line">        <tt id="link-1592" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1592', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1593" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1593', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">        <tt id="link-1594" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1594', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1595" 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-1593', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</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-1594" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1594', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1595" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1595', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line"> </tt>
+<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">        <tt id="link-1596" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1596', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1597" 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-1595', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-1596" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1596', 'CDATA', 'link-1567');">CDATA</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1448"></a><tt class="py-lineno">1448</tt>  <tt class="py-line">        <tt class="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-1597" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1597', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1598" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1597', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-1598" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1598', 'CDATA', 'link-1569');">CDATA</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</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">'test'</tt><tt class="py-op">,</tt> <tt id="link-1599" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1599', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1600" 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-1598', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1449"></a><tt class="py-lineno">1449</tt>  <tt class="py-line"> </tt>
-<a name="L1450"></a><tt class="py-lineno">1450</tt>  <tt class="py-line">        <tt id="link-1599" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1599', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1600" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1600', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line"> </tt>
+<a name="L1453"></a><tt class="py-lineno">1453</tt>  <tt class="py-line">        <tt id="link-1601" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1601', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1602" 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-1600', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-1601" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1601', 'CDATA', 'link-1567');">CDATA</a></tt><tt class="py-op">(</tt><tt id="link-1602" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1602', '_str', 'link-23');">_str</a></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="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">'test'</tt><tt class="py-op">,</tt> <tt id="link-1603" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1603', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1604" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1602', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-1603" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1603', 'CDATA', 'link-1569');">CDATA</a></tt><tt class="py-op">(</tt><tt id="link-1604" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-1604', '_str', 'link-23');">_str</a></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="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line">        <tt class="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-1605" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1605', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1606" 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-1604', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1452"></a><tt class="py-lineno">1452</tt>  <tt class="py-line"> </tt>
-<a name="L1453"></a><tt class="py-lineno">1453</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 id="link-1605" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1605', 'CDATA', 'link-1567');">CDATA</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1454"></a><tt class="py-lineno">1454</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_cdata_errors"></a><div id="ETreeOnlyTestCase.test_cdata_errors-def"><a name="L1455"></a><tt class="py-lineno">1455</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_errors-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_errors');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_errors">test_cdata_errors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_cdata_errors-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_errors-expanded"><a name="L1456"></a><tt class="py-lineno">1456</tt>  <tt class="py-line">        <tt id="link-1606" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1606', 'CDATA', 'link-1567');">CDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1607" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1606', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1455"></a><tt class="py-lineno">1455</tt>  <tt class="py-line"> </tt>
+<a name="L1456"></a><tt class="py-lineno">1456</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 id="link-1607" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1607', 'CDATA', 'link-1569');">CDATA</a></tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_cdata_errors"></a><div id="ETreeOnlyTestCase.test_cdata_errors-def"><a name="L1458"></a><tt class="py-lineno">1458</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_errors-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_errors');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_errors">test_cdata_errors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_cdata_errors-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_errors-expanded"><a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">        <tt id="link-1608" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1608', 'CDATA', 'link-1569');">CDATA</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1609" 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-1607', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1608" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1608', 'CDATA', 'link-1567');">CDATA</a></tt> </tt>
-<a name="L1457"></a><tt class="py-lineno">1457</tt>  <tt class="py-line">        <tt id="link-1609" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1609', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1610" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1610', 'CDATA', 'link-1569');">CDATA</a></tt> </tt>
+<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">        <tt id="link-1611" 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-1609', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1610" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1611', 'Element', 'link-64');">Element</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
 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-1610', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1611" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1612', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1613" 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-1611', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1458"></a><tt class="py-lineno">1458</tt>  <tt class="py-line"> </tt>
-<a name="L1459"></a><tt class="py-lineno">1459</tt>  <tt class="py-line">        <tt id="link-1612" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1612', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1613" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1613', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line"> </tt>
+<a name="L1462"></a><tt class="py-lineno">1462</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1615" 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-1613', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
-<a name="L1460"></a><tt class="py-lineno">1460</tt>  <tt class="py-line">        <tt class="py-name">cdata</tt> <tt class="py-op">=</tt> <tt id="link-1614" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1614', 'CDATA', 'link-1567');">CDATA</a></tt><tt class="py-op">(</tt><tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1461"></a><tt class="py-lineno">1461</tt>  <tt class="py-line">         </tt>
-<a name="L1462"></a><tt class="py-lineno">1462</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>
-<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">                          <tt id="link-1615" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-1615', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt id="link-1616" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1616', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'tail'</tt><tt class="py-op">,</tt> <tt class="py-name">cdata</tt><tt class="py-op">)</tt> </tt>
-<a name="L1464"></a><tt class="py-lineno">1464</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>
-<a name="L1465"></a><tt class="py-lineno">1465</tt>  <tt class="py-line">                          <tt id="link-1617" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1617', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1618" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-1618', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">'attr'</tt><tt class="py-op">,</tt> <tt class="py-name">cdata</tt><tt class="py-op">)</tt> </tt>
-<a name="L1466"></a><tt class="py-lineno">1466</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>
-<a name="L1467"></a><tt class="py-lineno">1467</tt>  <tt class="py-line">                          <tt class="py-name">operator</tt><tt class="py-op">.</tt><tt class="py-name">setitem</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1620" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1615', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"root"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1463"></a><tt class="py-lineno">1463</tt>  <tt class="py-line">        <tt class="py-name">cdata</tt> <tt class="py-op">=</tt> <tt id="link-1616" class="py-name"><a title="lxml.etree.CDATA" class="py-name" href="#" onclick="return doclink('link-1616', 'CDATA', 'link-1569');">CDATA</a></tt><tt class="py-op">(</tt><tt class="py-string">'test'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1464"></a><tt class="py-lineno">1464</tt>  <tt class="py-line">         </tt>
+<a name="L1465"></a><tt class="py-lineno">1465</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>
+<a name="L1466"></a><tt class="py-lineno">1466</tt>  <tt class="py-line">                          <tt id="link-1617" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-1617', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt id="link-1618" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1618', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'tail'</tt><tt class="py-op">,</tt> <tt class="py-name">cdata</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> </tt>
+<a name="L1468"></a><tt class="py-lineno">1468</tt>  <tt class="py-line">                          <tt id="link-1619" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1619', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1620" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-1620', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">'attr'</tt><tt class="py-op">,</tt> <tt class="py-name">cdata</tt><tt class="py-op">)</tt> </tt>
+<a name="L1469"></a><tt class="py-lineno">1469</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>
+<a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">                          <tt class="py-name">operator</tt><tt class="py-op">.</tt><tt class="py-name">setitem</tt><tt class="py-op">,</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1622" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1620', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-string">'attr'</tt><tt class="py-op">,</tt> <tt class="py-name">cdata</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="ETreeOnlyTestCase.test_cdata_parser"></a><div id="ETreeOnlyTestCase.test_cdata_parser-def"><a name="L1469"></a><tt class="py-lineno">1469</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_parser-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_parser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_parser">test_cdata_parser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_cdata_parser-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_parser-expanded"><a name="L1470"></a><tt class="py-lineno">1470</tt>  <tt class="py-line">        <tt id="link-1621" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1621', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1622" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-1622', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">,</tt> <tt class="py-string">'attr'</tt><tt class="py-op">,</tt> <tt class="py-name">cdata</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_cdata_parser"></a><div id="ETreeOnlyTestCase.test_cdata_parser-def"><a name="L1472"></a><tt class="py-lineno">1472</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_parser-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_parser');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_parser">test_cdata_parser</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_cdata_parser-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_parser-expanded"><a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line">        <tt id="link-1623" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1623', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1624" 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-1622', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1623" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1623', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L1471"></a><tt class="py-lineno">1471</tt>  <tt class="py-line">        <tt id="link-1624" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1624', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1625" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1624', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1625" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1625', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">        <tt id="link-1626" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1626', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1627" 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-1625', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1626" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1627', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1628" 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-1626', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">strip_cdata</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1472"></a><tt class="py-lineno">1472</tt>  <tt class="py-line">        <tt id="link-1627" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1627', 'root', 'link-215');">root</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.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1628', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">strip_cdata</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 id="link-1629" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1629', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1630" 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-1628', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1629" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1630', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><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-1629', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1630" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1630', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1631" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1631', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1473"></a><tt class="py-lineno">1473</tt>  <tt class="py-line"> </tt>
-<a name="L1474"></a><tt class="py-lineno">1474</tt>  <tt class="py-line">        <tt class="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-1632" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1632', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1633" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1631', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1632" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1632', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1633" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1633', 'parser', 'link-800');">parser</a></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 class="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-1634" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1634', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1635" 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-1633', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1475"></a><tt class="py-lineno">1475</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1634" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1634', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1476"></a><tt class="py-lineno">1476</tt>  <tt class="py-line">                          <tt id="link-1635" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1635', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1636" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1636', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1477"></a><tt class="py-lineno">1477</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_cdata_xpath"></a><div id="ETreeOnlyTestCase.test_cdata_xpath-def"><a name="L1478"></a><tt class="py-lineno">1478</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_xpath-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_xpath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_xpath">test_cdata_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="ETreeOnlyTestCase.test_cdata_xpath-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_xpath-expanded"><a name="L1479"></a><tt class="py-lineno">1479</tt>  <tt class="py-line">        <tt id="link-1637" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1637', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1638" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-1635', 'text', 'link-189');">text</a></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 id="link-1636" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1636', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</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 id="link-1637" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1637', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1638" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1638', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_cdata_xpath"></a><div id="ETreeOnlyTestCase.test_cdata_xpath-def"><a name="L1481"></a><tt class="py-lineno">1481</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_cdata_xpath-toggle" onclick="return toggle('ETreeOnlyTestCase.test_cdata_xpath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_cdata_xpath">test_cdata_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="ETreeOnlyTestCase.test_cdata_xpath-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_cdata_xpath-expanded"><a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">        <tt id="link-1639" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1639', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1640" 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-1638', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1639" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1639', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L1480"></a><tt class="py-lineno">1480</tt>  <tt class="py-line">        <tt id="link-1640" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1640', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1641" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1640', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1641" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1641', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">        <tt id="link-1642" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1642', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1643" 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-1641', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1642" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1643', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1644" 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-1642', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">strip_cdata</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L1481"></a><tt class="py-lineno">1481</tt>  <tt class="py-line">        <tt id="link-1643" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1643', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1644" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-1644', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">strip_cdata</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L1484"></a><tt class="py-lineno">1484</tt>  <tt class="py-line">        <tt id="link-1645" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1645', 'root', 'link-215');">root</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
 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-1644', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1645" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1646', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><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-1645', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1646" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1646', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1647" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1647', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1482"></a><tt class="py-lineno">1482</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1648" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1648', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1483"></a><tt class="py-lineno">1483</tt>  <tt class="py-line">                          <tt id="link-1649" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1649', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1650" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1650', 'root', 'link-215');">root</a></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">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">'test'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-1651" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1651', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1652" 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.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-1647', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-1648" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1648', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-1649" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-1649', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1485"></a><tt class="py-lineno">1485</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1650" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1650', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;![CDATA[test]]&gt;&lt;/root&gt;'</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 id="link-1651" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-1651', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-1652" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1652', 'root', 'link-215');">root</a></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>
+<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-op">[</tt><tt class="py-string">'test'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-1653" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1653', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1654" 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-1652', 'xpath', 'link-1652');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">'//text()'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1486"></a><tt class="py-lineno">1486</tt>  <tt class="py-line"> </tt>
-<a name="L1487"></a><tt class="py-lineno">1487</tt>  <tt class="py-line">    <tt class="py-comment"># TypeError in etree, AssertionError in ElementTree;</tt> </tt>
-<a name="ETreeOnlyTestCase.test_setitem_assert"></a><div id="ETreeOnlyTestCase.test_setitem_assert-def"><a name="L1488"></a><tt class="py-lineno">1488</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setitem_assert-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setitem_assert');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setitem_assert">test_setitem_assert</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_setitem_assert-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setitem_assert-expanded"><a name="L1489"></a><tt class="py-lineno">1489</tt>  <tt class="py-line">        <tt id="link-1653" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_xpathevaluator.xpath" class="py-name" href="#" onclick="return doclink('link-1654', 'xpath', 'link-1654');">xpath</a></tt><tt class="py-op">(</tt><tt class="py-string">'//text()'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><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-comment"># TypeError in etree, AssertionError in ElementTree;</tt> </tt>
+<a name="ETreeOnlyTestCase.test_setitem_assert"></a><div id="ETreeOnlyTestCase.test_setitem_assert-def"><a name="L1491"></a><tt class="py-lineno">1491</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setitem_assert-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setitem_assert');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setitem_assert">test_setitem_assert</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_setitem_assert-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setitem_assert-expanded"><a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">        <tt id="link-1655" 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-1653', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1654" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1655', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1656" 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-1654', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1655" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1656', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1657" 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-1655', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1490"></a><tt class="py-lineno">1490</tt>  <tt class="py-line">        <tt id="link-1656" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1656', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1657" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1657', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">        <tt id="link-1658" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1658', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1659" 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-1657', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1658" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1658', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1491"></a><tt class="py-lineno">1491</tt>  <tt class="py-line"> </tt>
-<a name="L1492"></a><tt class="py-lineno">1492</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1659" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1659', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1660" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1660', 'SubElement', 'link-107');">SubElement</a></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">a</tt> <tt class="py-op">=</tt> <tt id="link-1661" 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-1659', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1493"></a><tt class="py-lineno">1493</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1660" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1660', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">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>
-<a name="L1496"></a><tt class="py-lineno">1496</tt>  <tt class="py-line">                          <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-1661" class="py-name" targets="Method lxml.etree._Attrib.__setitem__()=lxml.etree._Attrib-class.html#__setitem__,Method lxml.etree._Element.__setitem__()=lxml.etree._Element-class.html#__setitem__,Method lxml.html.FieldsDict.__setitem__()=lxml.html.FieldsDict-class.html#__setitem__,Method lxml.objectify.ObjectifiedElement.__setitem__()=lxml.objectify.ObjectifiedElement-class.html#__setitem__"><a title="lxml.etree._Attrib.__setitem__
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1661', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1662" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1662', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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-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>
+<a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">                          <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-1663" class="py-name" targets="Method lxml.etree._Attrib.__setitem__()=lxml.etree._Attrib-class.html#__setitem__,Method lxml.etree._Element.__setitem__()=lxml.etree._Element-class.html#__setitem__,Method lxml.html.FieldsDict.__setitem__()=lxml.html.FieldsDict-class.html#__setitem__,Method lxml.objectify.ObjectifiedElement.__setitem__()=lxml.objectify.ObjectifiedElement-class.html#__setitem__"><a title="lxml.etree._Attrib.__setitem__
 lxml.etree._Element.__setitem__
 lxml.html.FieldsDict.__setitem__
-lxml.objectify.ObjectifiedElement.__setitem__" class="py-name" href="#" onclick="return doclink('link-1661', '__setitem__', 'link-1661');">__setitem__</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1497"></a><tt class="py-lineno">1497</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_append_error"></a><div id="ETreeOnlyTestCase.test_append_error-def"><a name="L1498"></a><tt class="py-lineno">1498</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_append_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_append_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_append_error">test_append_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="ETreeOnlyTestCase.test_append_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_append_error-expanded"><a name="L1499"></a><tt class="py-lineno">1499</tt>  <tt class="py-line">        <tt id="link-1662" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.ObjectifiedElement.__setitem__" class="py-name" href="#" onclick="return doclink('link-1663', '__setitem__', 'link-1663');">__setitem__</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_append_error"></a><div id="ETreeOnlyTestCase.test_append_error-def"><a name="L1501"></a><tt class="py-lineno">1501</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_append_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_append_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_append_error">test_append_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="ETreeOnlyTestCase.test_append_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_append_error-expanded"><a name="L1502"></a><tt class="py-lineno">1502</tt>  <tt class="py-line">        <tt id="link-1664" 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-1662', 'Element', 'link-64');">Element</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1664', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1665" 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-1663', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1664" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1665', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1666" 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-1664', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1500"></a><tt class="py-lineno">1500</tt>  <tt class="py-line">        <tt id="link-1665" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1665', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1666" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1666', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1503"></a><tt class="py-lineno">1503</tt>  <tt class="py-line">        <tt id="link-1667" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1667', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1668" 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-1666', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1501"></a><tt class="py-lineno">1501</tt>  <tt class="py-line">        <tt class="py-comment"># raises AssertionError in ElementTree</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt id="link-1667" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1667', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1668" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1668', 'append', 'link-673');">append</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1670" 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-1670', 'extend', 'link-1670');">extend</a></tt><tt class="py-op">,</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="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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt id="link-1671" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1671', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1672" class="py-name"><a title="lxml.etree._Element.extend" class="py-name" href="#" onclick="return doclink('link-1672', 'extend', 'link-1670');">extend</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-1673" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1668', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1504"></a><tt class="py-lineno">1504</tt>  <tt class="py-line">        <tt class="py-comment"># raises AssertionError in ElementTree</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1670" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1670', 'append', 'link-684');">append</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt id="link-1671" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1671', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1672" 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-1672', 'extend', 'link-1672');">extend</a></tt><tt class="py-op">,</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="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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt id="link-1673" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1673', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1674" class="py-name"><a title="lxml.etree._Element.extend" class="py-name" href="#" onclick="return doclink('link-1674', 'extend', 'link-1672');">extend</a></tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt id="link-1675" 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-1673', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'one'</tt><tt class="py-op">)</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="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">'one'</tt><tt class="py-op">,</tt> <tt id="link-1674" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1674', 'root', 'link-215');">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-1675" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1675', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'one'</tt><tt class="py-op">)</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="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">'one'</tt><tt class="py-op">,</tt> <tt id="link-1676" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1676', 'root', 'link-215');">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-1677" 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-1675', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1506"></a><tt class="py-lineno">1506</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_append_recursive_error"></a><div id="ETreeOnlyTestCase.test_append_recursive_error-def"><a name="L1507"></a><tt class="py-lineno">1507</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_append_recursive_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_append_recursive_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_append_recursive_error">test_append_recursive_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="ETreeOnlyTestCase.test_append_recursive_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_append_recursive_error-expanded"><a name="L1508"></a><tt class="py-lineno">1508</tt>  <tt class="py-line">        <tt id="link-1676" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1677', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_append_recursive_error"></a><div id="ETreeOnlyTestCase.test_append_recursive_error-def"><a name="L1510"></a><tt class="py-lineno">1510</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_append_recursive_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_append_recursive_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_append_recursive_error">test_append_recursive_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="ETreeOnlyTestCase.test_append_recursive_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_append_recursive_error-expanded"><a name="L1511"></a><tt class="py-lineno">1511</tt>  <tt class="py-line">        <tt id="link-1678" 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-1676', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1677" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1678', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1679" 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-1677', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1678" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1679', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1680" 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-1678', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1509"></a><tt class="py-lineno">1509</tt>  <tt class="py-line">        <tt id="link-1679" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1679', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1680" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1680', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1512"></a><tt class="py-lineno">1512</tt>  <tt class="py-line">        <tt id="link-1681" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1681', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1682" 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-1680', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1681" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1681', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1510"></a><tt class="py-lineno">1510</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1683" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1682', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1683" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1683', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1513"></a><tt class="py-lineno">1513</tt>  <tt class="py-line">        <tt id="link-1684" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1684', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1685" 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-1683', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1685" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1685', 'append', 'link-673');">append</a></tt><tt class="py-op">,</tt> <tt id="link-1686" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1686', 'root', 'link-215');">root</a></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">child</tt> <tt class="py-op">=</tt> <tt id="link-1687" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1687', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-1689" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1689', 'append', 'link-673');">append</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-215');">root</a></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">child2</tt> <tt class="py-op">=</tt> <tt id="link-1691" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1691', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1515"></a><tt class="py-lineno">1515</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">child2</tt><tt class="py-op">.</tt><tt id="link-1692" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1692', 'append', 'link-673');">append</a></tt><tt class="py-op">,</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-215');">root</a></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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">child2</tt><tt class="py-op">.</tt><tt id="link-1694" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1694', 'append', 'link-673');">append</a></tt><tt class="py-op">,</tt> <tt class="py-name">child</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'child2'</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-215');">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-1696" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1685', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt id="link-1686" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1686', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1687" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1687', 'append', 'link-684');">append</a></tt><tt class="py-op">,</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-215');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1515"></a><tt class="py-lineno">1515</tt>  <tt class="py-line">        <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt id="link-1689" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1689', 'SubElement', 'link-107');">SubElement</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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">.</tt><tt id="link-1691" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1691', 'append', 'link-684');">append</a></tt><tt class="py-op">,</tt> <tt id="link-1692" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1692', 'root', 'link-215');">root</a></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">child2</tt> <tt class="py-op">=</tt> <tt id="link-1693" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1693', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">child</tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1518"></a><tt class="py-lineno">1518</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">child2</tt><tt class="py-op">.</tt><tt id="link-1694" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1694', 'append', 'link-684');">append</a></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-215');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1519"></a><tt class="py-lineno">1519</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">child2</tt><tt class="py-op">.</tt><tt id="link-1696" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-1696', 'append', 'link-684');">append</a></tt><tt class="py-op">,</tt> <tt class="py-name">child</tt><tt class="py-op">)</tt> </tt>
+<a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'child2'</tt><tt class="py-op">,</tt> <tt id="link-1697" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1697', 'root', 'link-215');">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-1698" 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-1696', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1518"></a><tt class="py-lineno">1518</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext"></a><div id="ETreeOnlyTestCase.test_addnext-def"><a name="L1519"></a><tt class="py-lineno">1519</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext">test_addnext</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addnext-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext-expanded"><a name="L1520"></a><tt class="py-lineno">1520</tt>  <tt class="py-line">        <tt id="link-1697" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1698', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext"></a><div id="ETreeOnlyTestCase.test_addnext-def"><a name="L1522"></a><tt class="py-lineno">1522</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext">test_addnext</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addnext-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext-expanded"><a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">        <tt id="link-1699" 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-1697', 'Element', 'link-64');">Element</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1699', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1700" 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-1698', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1699" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1700', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1701" 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-1699', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1521"></a><tt class="py-lineno">1521</tt>  <tt class="py-line">        <tt id="link-1700" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1700', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1701" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1701', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">        <tt id="link-1702" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1702', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1703" 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-1701', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1702" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1702', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1522"></a><tt class="py-lineno">1522</tt>  <tt class="py-line">        <tt id="link-1703" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1703', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1704" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1703', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1704" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1704', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line">        <tt id="link-1705" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1705', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1706" 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-1704', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1523"></a><tt class="py-lineno">1523</tt>  <tt class="py-line">        <tt id="link-1705" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1705', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1706" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1706', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1524"></a><tt class="py-lineno">1524</tt>  <tt class="py-line">        <tt id="link-1707" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1707', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1708" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1708', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1525"></a><tt class="py-lineno">1525</tt>  <tt class="py-line"> </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-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>
-<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">                          <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1709" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1706', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1526"></a><tt class="py-lineno">1526</tt>  <tt class="py-line">        <tt id="link-1707" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1707', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1708" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1708', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1527"></a><tt class="py-lineno">1527</tt>  <tt class="py-line">        <tt id="link-1709" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1709', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1528"></a><tt class="py-lineno">1528</tt>  <tt class="py-line"> </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-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>
+<a name="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">                          <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1711" 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-1709', 'tag', 'link-68');">tag</a></tt> <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-215');">root</a></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 id="link-1711" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1711', 'root', 'link-215');">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-1712" class="py-name" targets="Method lxml.etree._Element.addnext()=lxml.etree._Element-class.html#addnext"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1712', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1713" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1713', 'root', 'link-215');">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="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-op">[</tt><tt class="py-string">'b'</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="L1530"></a><tt class="py-lineno">1530</tt>  <tt class="py-line">                          <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1714" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1711', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</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-215');">root</a></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 id="link-1713" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1713', 'root', 'link-215');">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-1714" class="py-name" targets="Method lxml.etree._Element.addnext()=lxml.etree._Element-class.html#addnext"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1714', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</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-215');">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="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-op">[</tt><tt class="py-string">'b'</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="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">                          <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1716" 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-1714', 'tag', 'link-68');">tag</a></tt> <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-215');">root</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1531"></a><tt class="py-lineno">1531</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious"></a><div id="ETreeOnlyTestCase.test_addprevious-def"><a name="L1532"></a><tt class="py-lineno">1532</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious">test_addprevious</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addprevious-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious-expanded"><a name="L1533"></a><tt class="py-lineno">1533</tt>  <tt class="py-line">        <tt id="link-1716" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1716', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1717" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1717', 'root', 'link-215');">root</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addprevious"></a><div id="ETreeOnlyTestCase.test_addprevious-def"><a name="L1535"></a><tt class="py-lineno">1535</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious">test_addprevious</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addprevious-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious-expanded"><a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">        <tt id="link-1718" 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-1716', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1717" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1718', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1719" 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-1717', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1718" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1719', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1720" 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-1718', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1534"></a><tt class="py-lineno">1534</tt>  <tt class="py-line">        <tt id="link-1719" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1719', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1720" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1720', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">        <tt id="link-1721" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1721', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1722" 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-1720', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1721" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1721', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1535"></a><tt class="py-lineno">1535</tt>  <tt class="py-line">        <tt id="link-1722" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1722', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1723" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1722', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1723" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1723', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1538"></a><tt class="py-lineno">1538</tt>  <tt class="py-line">        <tt id="link-1724" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1724', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1725" 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-1723', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1536"></a><tt class="py-lineno">1536</tt>  <tt class="py-line">        <tt id="link-1724" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1724', 'SubElement', 'link-107');">SubElement</a></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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1537"></a><tt class="py-lineno">1537</tt>  <tt class="py-line">        <tt id="link-1726" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1726', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1727" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1727', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">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">'a'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1728" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1725', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1539"></a><tt class="py-lineno">1539</tt>  <tt class="py-line">        <tt id="link-1726" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1726', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1727" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1727', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1540"></a><tt class="py-lineno">1540</tt>  <tt class="py-line">        <tt id="link-1728" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1728', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1729" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1729', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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-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">'a'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1730" 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-1728', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1729" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1729', 'root', 'link-215');">root</a></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 id="link-1730" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1730', 'root', 'link-215');">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-1731" class="py-name" targets="Method lxml.etree._Element.addprevious()=lxml.etree._Element-class.html#addprevious"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1731', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-1732" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1732', 'root', 'link-215');">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>
-<a name="L1542"></a><tt class="py-lineno">1542</tt>  <tt class="py-line">        <tt 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">'b'</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="L1543"></a><tt class="py-lineno">1543</tt>  <tt class="py-line">                          <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1733" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1730', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1731" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1731', 'root', 'link-215');">root</a></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 id="link-1732" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1732', 'root', 'link-215');">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-1733" class="py-name" targets="Method lxml.etree._Element.addprevious()=lxml.etree._Element-class.html#addprevious"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1733', 'addprevious', 'link-1733');">addprevious</a></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-215');">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>
+<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-op">[</tt><tt class="py-string">'b'</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="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">                          <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1735" 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-1733', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1544"></a><tt class="py-lineno">1544</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_cycle"></a><div id="ETreeOnlyTestCase.test_addnext_cycle-def"><a name="L1545"></a><tt class="py-lineno">1545</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_cycle-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_cycle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_cycle">test_addnext_cycle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addnext_cycle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_cycle-expanded"><a name="L1546"></a><tt class="py-lineno">1546</tt>  <tt class="py-line">        <tt id="link-1735" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1735', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_cycle"></a><div id="ETreeOnlyTestCase.test_addnext_cycle-def"><a name="L1548"></a><tt class="py-lineno">1548</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_cycle-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_cycle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_cycle">test_addnext_cycle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addnext_cycle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_cycle-expanded"><a name="L1549"></a><tt class="py-lineno">1549</tt>  <tt class="py-line">        <tt id="link-1737" 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-1735', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1736" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1737', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1738" 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-1736', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1737" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1738', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1739" 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-1737', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1547"></a><tt class="py-lineno">1547</tt>  <tt class="py-line">        <tt id="link-1738" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1738', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1739" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1739', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1550"></a><tt class="py-lineno">1550</tt>  <tt class="py-line">        <tt id="link-1740" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1740', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1741" 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-1739', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1740" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1740', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1548"></a><tt class="py-lineno">1548</tt>  <tt class="py-line">        <tt id="link-1741" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1741', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1742" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1741', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1742" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1742', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">        <tt id="link-1743" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1743', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1744" 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-1742', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1743" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1743', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1744" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1744', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-1745" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1745', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1551"></a><tt class="py-lineno">1551</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-1746" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1746', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</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-op">[</tt><tt class="py-string">'a'</tt><tt class="py-op">]</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-1747" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1744', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1745" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1745', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1746" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1746', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-1747" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1747', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1554"></a><tt class="py-lineno">1554</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-1748" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1748', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</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-op">[</tt><tt class="py-string">'a'</tt><tt class="py-op">]</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-1749" 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-1747', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1748" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1748', 'root', 'link-215');">root</a></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-op">[</tt><tt class="py-string">'b'</tt><tt class="py-op">]</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-1749" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1749', 'tag', 'link-68');">tag</a></tt> <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-215');">root</a></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-op">[</tt><tt class="py-string">'b'</tt><tt class="py-op">]</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-1751" 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-1749', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1555"></a><tt class="py-lineno">1555</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_cycle"></a><div id="ETreeOnlyTestCase.test_addprevious_cycle-def"><a name="L1556"></a><tt class="py-lineno">1556</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_cycle-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_cycle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_cycle">test_addprevious_cycle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addprevious_cycle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_cycle-expanded"><a name="L1557"></a><tt class="py-lineno">1557</tt>  <tt class="py-line">        <tt id="link-1750" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1751', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addprevious_cycle"></a><div id="ETreeOnlyTestCase.test_addprevious_cycle-def"><a name="L1559"></a><tt class="py-lineno">1559</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_cycle-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_cycle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_cycle">test_addprevious_cycle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addprevious_cycle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_cycle-expanded"><a name="L1560"></a><tt class="py-lineno">1560</tt>  <tt class="py-line">        <tt id="link-1752" 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-1750', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1751" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1752', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1753" 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-1751', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1752" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1753', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1754" 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-1752', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1558"></a><tt class="py-lineno">1558</tt>  <tt class="py-line">        <tt id="link-1753" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1753', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1754" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1754', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">        <tt id="link-1755" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1755', 'SubElement', 'link-107');">SubElement</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
 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-1754', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1755" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1755', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1559"></a><tt class="py-lineno">1559</tt>  <tt class="py-line">        <tt id="link-1756" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1756', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1757" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1756', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1757" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1757', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">        <tt id="link-1758" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1758', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1759" 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-1757', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1758" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1758', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1759" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1759', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1561"></a><tt class="py-lineno">1561</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1760" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1760', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1562"></a><tt class="py-lineno">1562</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</tt> </tt>
-<a name="L1563"></a><tt class="py-lineno">1563</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">b</tt><tt class="py-op">.</tt><tt id="link-1761" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1761', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">        <tt 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">'a'</tt><tt class="py-op">]</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-1762" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1759', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1563"></a><tt class="py-lineno">1563</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1760" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1760', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1761" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1761', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1564"></a><tt class="py-lineno">1564</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1762" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1762', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1565"></a><tt class="py-lineno">1565</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</tt> </tt>
+<a name="L1566"></a><tt class="py-lineno">1566</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">b</tt><tt class="py-op">.</tt><tt id="link-1763" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1763', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L1567"></a><tt class="py-lineno">1567</tt>  <tt class="py-line">        <tt 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">'a'</tt><tt class="py-op">]</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-1764" 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-1762', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1763" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1763', 'root', 'link-215');">root</a></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-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">'b'</tt><tt class="py-op">]</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-1764" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1764', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt id="link-1765" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1765', 'root', 'link-215');">root</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">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">'b'</tt><tt class="py-op">]</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-1766" 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-1764', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1566"></a><tt class="py-lineno">1566</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_cycle_long"></a><div id="ETreeOnlyTestCase.test_addnext_cycle_long-def"><a name="L1567"></a><tt class="py-lineno">1567</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_cycle_long-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_cycle_long');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_cycle_long">test_addnext_cycle_long</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addnext_cycle_long-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_cycle_long-expanded"><a name="L1568"></a><tt class="py-lineno">1568</tt>  <tt class="py-line">        <tt id="link-1765" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1766', 'tag', 'link-68');">tag</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">c</tt> <tt class="py-keyword">in</tt> <tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_cycle_long"></a><div id="ETreeOnlyTestCase.test_addnext_cycle_long-def"><a name="L1570"></a><tt class="py-lineno">1570</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_cycle_long-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_cycle_long');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_cycle_long">test_addnext_cycle_long</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addnext_cycle_long-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_cycle_long-expanded"><a name="L1571"></a><tt class="py-lineno">1571</tt>  <tt class="py-line">        <tt id="link-1767" 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-1765', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1766" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1767', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1768" 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-1766', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1767" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1768', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1769" 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-1767', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1569"></a><tt class="py-lineno">1569</tt>  <tt class="py-line">        <tt id="link-1768" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1768', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1769" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1769', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">        <tt id="link-1770" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1770', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1771" 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-1769', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1770" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1770', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1570"></a><tt class="py-lineno">1570</tt>  <tt class="py-line">        <tt id="link-1771" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1771', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1772" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1771', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1772" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1772', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">        <tt id="link-1773" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1773', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1774" 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-1772', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1773" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1773', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1774" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1774', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1572"></a><tt class="py-lineno">1572</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1775" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1775', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1573"></a><tt class="py-lineno">1573</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-1776" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1776', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</tt> </tt>
-<a name="L1575"></a><tt class="py-lineno">1575</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">c</tt><tt class="py-op">.</tt><tt id="link-1777" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1777', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_cycle_long"></a><div id="ETreeOnlyTestCase.test_addprevious_cycle_long-def"><a name="L1577"></a><tt class="py-lineno">1577</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_cycle_long-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_cycle_long');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_cycle_long">test_addprevious_cycle_long</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addprevious_cycle_long-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_cycle_long-expanded"><a name="L1578"></a><tt class="py-lineno">1578</tt>  <tt class="py-line">        <tt id="link-1778" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1774', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1574"></a><tt class="py-lineno">1574</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1775" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1775', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1776" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1776', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1575"></a><tt class="py-lineno">1575</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1777" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1777', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1576"></a><tt class="py-lineno">1576</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-1778" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1778', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1577"></a><tt class="py-lineno">1577</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</tt> </tt>
+<a name="L1578"></a><tt class="py-lineno">1578</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">c</tt><tt class="py-op">.</tt><tt id="link-1779" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1779', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</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="ETreeOnlyTestCase.test_addprevious_cycle_long"></a><div id="ETreeOnlyTestCase.test_addprevious_cycle_long-def"><a name="L1580"></a><tt class="py-lineno">1580</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_cycle_long-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_cycle_long');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_cycle_long">test_addprevious_cycle_long</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addprevious_cycle_long-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_cycle_long-expanded"><a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">        <tt id="link-1780" 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-1778', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1779" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1780', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1781" 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-1779', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1780" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1781', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1782" 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-1780', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1579"></a><tt class="py-lineno">1579</tt>  <tt class="py-line">        <tt id="link-1781" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1781', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1782" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1782', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1582"></a><tt class="py-lineno">1582</tt>  <tt class="py-line">        <tt id="link-1783" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1783', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1784" 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-1782', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1783" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1783', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1580"></a><tt class="py-lineno">1580</tt>  <tt class="py-line">        <tt id="link-1784" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1784', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1785" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1784', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1785" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1785', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1583"></a><tt class="py-lineno">1583</tt>  <tt class="py-line">        <tt id="link-1786" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1786', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1787" 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-1785', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1581"></a><tt class="py-lineno">1581</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1786" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1786', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1787" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1787', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'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-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1788" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1788', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-1789" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1789', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1584"></a><tt class="py-lineno">1584</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1790" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1790', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1586"></a><tt class="py-lineno">1586</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_noops"></a><div id="ETreeOnlyTestCase.test_addprevious_noops-def"><a name="L1587"></a><tt class="py-lineno">1587</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_noops-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_noops');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_noops">test_addprevious_noops</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addprevious_noops-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_noops-expanded"><a name="L1588"></a><tt class="py-lineno">1588</tt>  <tt class="py-line">        <tt id="link-1791" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1787', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1788" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1788', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1789" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1789', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-1790" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1790', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-1791" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1791', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1587"></a><tt class="py-lineno">1587</tt>  <tt class="py-line">        <tt class="py-comment"># appending parent as sibling is forbidden</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-1792" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1792', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addprevious_noops"></a><div id="ETreeOnlyTestCase.test_addprevious_noops-def"><a name="L1590"></a><tt class="py-lineno">1590</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_noops-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_noops');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_noops">test_addprevious_noops</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addprevious_noops-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_noops-expanded"><a name="L1591"></a><tt class="py-lineno">1591</tt>  <tt class="py-line">        <tt id="link-1793" 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-1791', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1792" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1793', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1794" 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-1792', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1793" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1794', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1795" 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-1793', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1589"></a><tt class="py-lineno">1589</tt>  <tt class="py-line">        <tt id="link-1794" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1794', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1795" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1795', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1592"></a><tt class="py-lineno">1592</tt>  <tt class="py-line">        <tt id="link-1796" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1796', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1797" 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-1795', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1796" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1796', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1590"></a><tt class="py-lineno">1590</tt>  <tt class="py-line">        <tt id="link-1797" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1797', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1798" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1797', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1798" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1798', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1593"></a><tt class="py-lineno">1593</tt>  <tt class="py-line">        <tt id="link-1799" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1799', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1800" 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-1798', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1799" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1799', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1800" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1800', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-1801" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1801', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1802" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1802', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">a</tt><tt class="py-op">.</tt><tt id="link-1803" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1803', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">a</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">'a'</tt><tt class="py-op">,</tt> <tt id="link-1804" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1804', 'root', 'link-215');">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-1805" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1800', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">a</tt> <tt class="py-op">=</tt> <tt id="link-1801" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1801', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1802" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1802', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-1803" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1803', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1804" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1804', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">a</tt><tt class="py-op">.</tt><tt id="link-1805" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1805', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">a</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">'a'</tt><tt class="py-op">,</tt> <tt id="link-1806" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1806', 'root', 'link-215');">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-1807" 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-1805', 'tag', 'link-68');">tag</a></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">'b'</tt><tt class="py-op">,</tt> <tt id="link-1806" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1806', 'root', 'link-215');">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-1807" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1807', 'tag', 'link-68');">tag</a></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">'b'</tt><tt class="py-op">,</tt> <tt id="link-1808" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1808', 'root', 'link-215');">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-1809" 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-1807', 'tag', 'link-68');">tag</a></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">b</tt><tt class="py-op">.</tt><tt id="link-1808" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1808', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">b</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">'a'</tt><tt class="py-op">,</tt> <tt id="link-1809" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1809', 'root', 'link-215');">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-1810" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1809', 'tag', 'link-68');">tag</a></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">b</tt><tt class="py-op">.</tt><tt id="link-1810" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1810', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">b</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-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1811" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1811', 'root', 'link-215');">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-1812" 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-1810', 'tag', 'link-68');">tag</a></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">'b'</tt><tt class="py-op">,</tt> <tt id="link-1811" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1811', 'root', 'link-215');">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-1812" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1812', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1813" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1813', 'root', 'link-215');">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-1814" 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-1812', 'tag', 'link-68');">tag</a></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">b</tt><tt class="py-op">.</tt><tt id="link-1813" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1813', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1814" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1814', 'root', 'link-215');">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-1815" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1814', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-1815" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1815', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L1603"></a><tt class="py-lineno">1603</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1816" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1816', 'root', 'link-215');">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-1817" 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-1815', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1601"></a><tt class="py-lineno">1601</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1816" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1816', 'root', 'link-215');">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-1817" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1817', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1818" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1818', 'root', 'link-215');">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-1819" 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-1817', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1602"></a><tt class="py-lineno">1602</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_noops"></a><div id="ETreeOnlyTestCase.test_addnext_noops-def"><a name="L1603"></a><tt class="py-lineno">1603</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_noops-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_noops');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_noops">test_addnext_noops</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addnext_noops-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_noops-expanded"><a name="L1604"></a><tt class="py-lineno">1604</tt>  <tt class="py-line">        <tt id="link-1818" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1819', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_noops"></a><div id="ETreeOnlyTestCase.test_addnext_noops-def"><a name="L1606"></a><tt class="py-lineno">1606</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_noops-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_noops');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_noops">test_addnext_noops</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addnext_noops-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_noops-expanded"><a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">        <tt id="link-1820" 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-1818', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1819" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1820', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1821" 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-1819', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1820" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1821', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1822" 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-1820', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1605"></a><tt class="py-lineno">1605</tt>  <tt class="py-line">        <tt id="link-1821" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1821', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1822" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1822', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">        <tt id="link-1823" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1823', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1824" 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-1822', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1823" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1823', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1606"></a><tt class="py-lineno">1606</tt>  <tt class="py-line">        <tt id="link-1824" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1824', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1825" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1824', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1825" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1825', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">        <tt id="link-1826" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1826', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1827" 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-1825', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1607"></a><tt class="py-lineno">1607</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1826" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1826', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1827" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1827', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1608"></a><tt class="py-lineno">1608</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1828" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1828', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1829" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1829', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1609"></a><tt class="py-lineno">1609</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-1830" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1830', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1831" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1831', 'root', 'link-215');">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-1832" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1827', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1610"></a><tt class="py-lineno">1610</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1828" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1828', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1829" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1829', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'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-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1830" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1830', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1831" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1831', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">a</tt><tt class="py-op">.</tt><tt id="link-1832" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1832', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1833" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1833', 'root', 'link-215');">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-1834" 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-1832', 'tag', 'link-68');">tag</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1833" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1833', 'root', 'link-215');">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-1834" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1834', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1835" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1835', 'root', 'link-215');">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-1836" 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-1834', 'tag', 'link-68');">tag</a></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">b</tt><tt class="py-op">.</tt><tt id="link-1835" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1835', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L1613"></a><tt class="py-lineno">1613</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1836" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1836', 'root', 'link-215');">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-1837" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1836', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-1837" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1837', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1838" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1838', 'root', 'link-215');">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-1839" 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-1837', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1614"></a><tt class="py-lineno">1614</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1838" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1838', 'root', 'link-215');">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-1839" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1839', 'tag', 'link-68');">tag</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1840" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1840', 'root', 'link-215');">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-1841" 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-1839', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1615"></a><tt class="py-lineno">1615</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-1840" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1840', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L1616"></a><tt class="py-lineno">1616</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1841" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1841', 'root', 'link-215');">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-1842" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1841', 'tag', 'link-68');">tag</a></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">a</tt><tt class="py-op">.</tt><tt id="link-1842" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1842', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">b</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-1843" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1843', 'root', 'link-215');">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-1844" 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-1842', 'tag', 'link-68');">tag</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-1843" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1843', 'root', 'link-215');">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-1844" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1844', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</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-215');">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-1846" 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-1844', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1618"></a><tt class="py-lineno">1618</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_root"></a><div id="ETreeOnlyTestCase.test_addnext_root-def"><a name="L1619"></a><tt class="py-lineno">1619</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_root-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_root');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root">test_addnext_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="ETreeOnlyTestCase.test_addnext_root-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_root-expanded"><a name="L1620"></a><tt class="py-lineno">1620</tt>  <tt class="py-line">        <tt id="link-1845" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-1846', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_root"></a><div id="ETreeOnlyTestCase.test_addnext_root-def"><a name="L1622"></a><tt class="py-lineno">1622</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_root-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_root');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root">test_addnext_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="ETreeOnlyTestCase.test_addnext_root-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_root-expanded"><a name="L1623"></a><tt class="py-lineno">1623</tt>  <tt class="py-line">        <tt id="link-1847" 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-1845', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1846" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1847', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1848" 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-1846', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1847" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1848', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1849" 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-1847', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1621"></a><tt class="py-lineno">1621</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1848" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1849', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-1850" 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-1848', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1622"></a><tt class="py-lineno">1622</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1849" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1850', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1625"></a><tt class="py-lineno">1625</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-1851" 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-1849', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1623"></a><tt class="py-lineno">1623</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">a</tt><tt class="py-op">.</tt><tt id="link-1850" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1850', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1624"></a><tt class="py-lineno">1624</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_pi"></a><div id="ETreeOnlyTestCase.test_addprevious_pi-def"><a name="L1625"></a><tt class="py-lineno">1625</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_pi">test_addprevious_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="ETreeOnlyTestCase.test_addprevious_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_pi-expanded"><a name="L1626"></a><tt class="py-lineno">1626</tt>  <tt class="py-line">        <tt id="link-1851" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1851', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1626"></a><tt class="py-lineno">1626</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">a</tt><tt class="py-op">.</tt><tt id="link-1852" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1852', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addprevious_pi"></a><div id="ETreeOnlyTestCase.test_addprevious_pi-def"><a name="L1628"></a><tt class="py-lineno">1628</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_pi">test_addprevious_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="ETreeOnlyTestCase.test_addprevious_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_pi-expanded"><a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">        <tt id="link-1853" 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-1851', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1852" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1853', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1854" 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-1852', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1853" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1854', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1855" 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-1853', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1627"></a><tt class="py-lineno">1627</tt>  <tt class="py-line">        <tt id="link-1854" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1854', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1855" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1855', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">        <tt id="link-1856" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1856', 'SubElement', 'link-107');">SubElement</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
 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-1855', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1856" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1856', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1628"></a><tt class="py-lineno">1628</tt>  <tt class="py-line">        <tt id="link-1857" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1857', 'PI', 'link-468');">PI</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
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1857', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1858" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1858', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">        <tt id="link-1859" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1859', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1860" 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-1858', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1859" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1859', 'PI', 'link-468');">PI</a></tt> </tt>
-<a name="L1629"></a><tt class="py-lineno">1629</tt>  <tt class="py-line">        <tt id="link-1860" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1860', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1861" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1860', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1861" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1861', 'PI', 'link-479');">PI</a></tt> </tt>
+<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">        <tt id="link-1862" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1862', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1863" 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-1861', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1630"></a><tt class="py-lineno">1630</tt>  <tt class="py-line">        <tt id="link-1862" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1862', 'SubElement', 'link-107');">SubElement</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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1631"></a><tt class="py-lineno">1631</tt>  <tt class="py-line">        <tt id="link-1864" 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-1864', 'pi', 'link-1864');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1865" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1865', 'PI', 'link-468');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1632"></a><tt class="py-lineno">1632</tt>  <tt class="py-line">        <tt id="link-1866" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1866', 'pi', 'link-1864');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1867" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1867', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
-<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line"> </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 id="link-1868" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1868', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 id="link-1869" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1869', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1870" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1870', 'root', 'link-215');">root</a></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 id="link-1871" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1871', 'root', 'link-215');">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-1872" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1872', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-1873" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1873', 'pi', 'link-1864');">pi</a></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 id="link-1874" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1874', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;?TARGET TEXT?&gt;TAIL&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 id="link-1875" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1875', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1639"></a><tt class="py-lineno">1639</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_root_pi"></a><div id="ETreeOnlyTestCase.test_addprevious_root_pi-def"><a name="L1640"></a><tt class="py-lineno">1640</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_root_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_root_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_root_pi">test_addprevious_root_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="ETreeOnlyTestCase.test_addprevious_root_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_root_pi-expanded"><a name="L1641"></a><tt class="py-lineno">1641</tt>  <tt class="py-line">        <tt id="link-1877" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1863', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1633"></a><tt class="py-lineno">1633</tt>  <tt class="py-line">        <tt id="link-1864" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1864', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1865" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1865', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1634"></a><tt class="py-lineno">1634</tt>  <tt class="py-line">        <tt id="link-1866" 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-1866', 'pi', 'link-1866');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1867" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1867', 'PI', 'link-479');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1635"></a><tt class="py-lineno">1635</tt>  <tt class="py-line">        <tt id="link-1868" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1868', 'pi', 'link-1866');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1869" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1869', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1636"></a><tt class="py-lineno">1636</tt>  <tt class="py-line"> </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 id="link-1870" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1870', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 id="link-1871" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1871', '_writeElement', 'link-328');">_writeElement</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-215');">root</a></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 id="link-1873" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1873', 'root', 'link-215');">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-1874" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1874', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-1875" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1875', 'pi', 'link-1866');">pi</a></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 id="link-1876" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1876', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;?TARGET TEXT?&gt;TAIL&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1877" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1877', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1878" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1878', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addprevious_root_pi"></a><div id="ETreeOnlyTestCase.test_addprevious_root_pi-def"><a name="L1643"></a><tt class="py-lineno">1643</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_root_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_root_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_root_pi">test_addprevious_root_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="ETreeOnlyTestCase.test_addprevious_root_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_root_pi-expanded"><a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">        <tt id="link-1879" 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-1877', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1878" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1879', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1880" 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-1878', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1879" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1880', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1881" 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-1879', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1642"></a><tt class="py-lineno">1642</tt>  <tt class="py-line">        <tt id="link-1880" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1880', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1881" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1881', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">        <tt id="link-1882" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1882', 'PI', 'link-479');">PI</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
 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-1881', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1882" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1882', 'PI', 'link-468');">PI</a></tt> </tt>
-<a name="L1643"></a><tt class="py-lineno">1643</tt>  <tt class="py-line">        <tt id="link-1883" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1883', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1884" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1883', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1884" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1884', 'PI', 'link-479');">PI</a></tt> </tt>
+<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line">        <tt id="link-1885" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1885', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1886" 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-1884', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1644"></a><tt class="py-lineno">1644</tt>  <tt class="py-line">        <tt id="link-1885" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1885', 'pi', 'link-1864');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1886" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1886', 'PI', 'link-468');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1645"></a><tt class="py-lineno">1645</tt>  <tt class="py-line">        <tt id="link-1887" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1887', 'pi', 'link-1864');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1888" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1888', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
-<a name="L1646"></a><tt class="py-lineno">1646</tt>  <tt class="py-line"> </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 id="link-1889" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1889', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</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 id="link-1890" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1890', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1891" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1891', 'root', 'link-215');">root</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 id="link-1892" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1892', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1893" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1893', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-1894" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1894', 'pi', 'link-1864');">pi</a></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 id="link-1895" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1895', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?TARGET TEXT?&gt;\n&lt;root&gt;&lt;/root&gt;'</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 id="link-1896" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1896', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1897" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1897', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1652"></a><tt class="py-lineno">1652</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_pi"></a><div id="ETreeOnlyTestCase.test_addnext_pi-def"><a name="L1653"></a><tt class="py-lineno">1653</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_pi">test_addnext_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="ETreeOnlyTestCase.test_addnext_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_pi-expanded"><a name="L1654"></a><tt class="py-lineno">1654</tt>  <tt class="py-line">        <tt id="link-1898" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1886', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1647"></a><tt class="py-lineno">1647</tt>  <tt class="py-line">        <tt id="link-1887" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1887', 'pi', 'link-1866');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1888" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1888', 'PI', 'link-479');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1648"></a><tt class="py-lineno">1648</tt>  <tt class="py-line">        <tt id="link-1889" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1889', 'pi', 'link-1866');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1890" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1890', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1649"></a><tt class="py-lineno">1649</tt>  <tt class="py-line"> </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 id="link-1891" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1891', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</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 id="link-1892" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1892', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1893" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1893', 'root', 'link-215');">root</a></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 id="link-1894" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1894', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1895" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-1895', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-1896" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1896', 'pi', 'link-1866');">pi</a></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 id="link-1897" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1897', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?TARGET TEXT?&gt;\n&lt;root&gt;&lt;/root&gt;'</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 id="link-1898" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1898', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1899" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1899', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_pi"></a><div id="ETreeOnlyTestCase.test_addnext_pi-def"><a name="L1656"></a><tt class="py-lineno">1656</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_pi">test_addnext_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="ETreeOnlyTestCase.test_addnext_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_pi-expanded"><a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">        <tt id="link-1900" 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-1898', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1899" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1900', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1901" 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-1899', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1900" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1901', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1902" 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-1900', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1655"></a><tt class="py-lineno">1655</tt>  <tt class="py-line">        <tt id="link-1901" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1901', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1902" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1902', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">        <tt id="link-1903" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1903', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1904" 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-1902', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1903" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1903', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1656"></a><tt class="py-lineno">1656</tt>  <tt class="py-line">        <tt id="link-1904" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1904', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1905" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1904', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1905" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1905', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">        <tt id="link-1906" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1906', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1907" 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-1905', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1906" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1906', 'PI', 'link-468');">PI</a></tt> </tt>
-<a name="L1657"></a><tt class="py-lineno">1657</tt>  <tt class="py-line">        <tt id="link-1907" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1907', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1908" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1907', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1908" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1908', 'PI', 'link-479');">PI</a></tt> </tt>
+<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">        <tt id="link-1909" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1909', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1910" 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-1908', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1658"></a><tt class="py-lineno">1658</tt>  <tt class="py-line">        <tt id="link-1909" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1909', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1910" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1910', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1659"></a><tt class="py-lineno">1659</tt>  <tt class="py-line">        <tt id="link-1911" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1911', 'pi', 'link-1864');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1912" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1912', 'PI', 'link-468');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1660"></a><tt class="py-lineno">1660</tt>  <tt class="py-line">        <tt id="link-1913" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1913', 'pi', 'link-1864');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1914" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1914', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
-<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line"> </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 id="link-1915" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1915', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1916" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1916', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1917" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1917', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1664"></a><tt class="py-lineno">1664</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-215');">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-1919" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1919', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1920" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1920', 'pi', 'link-1864');">pi</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1921" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1921', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;?TARGET TEXT?&gt;TAIL&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1922" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1922', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1923" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1923', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_root_pi"></a><div id="ETreeOnlyTestCase.test_addnext_root_pi-def"><a name="L1668"></a><tt class="py-lineno">1668</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_root_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_root_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root_pi">test_addnext_root_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="ETreeOnlyTestCase.test_addnext_root_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_root_pi-expanded"><a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">        <tt id="link-1924" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1910', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1661"></a><tt class="py-lineno">1661</tt>  <tt class="py-line">        <tt id="link-1911" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1911', 'SubElement', 'link-107');">SubElement</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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1662"></a><tt class="py-lineno">1662</tt>  <tt class="py-line">        <tt id="link-1913" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1913', 'pi', 'link-1866');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1914" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1914', 'PI', 'link-479');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1663"></a><tt class="py-lineno">1663</tt>  <tt class="py-line">        <tt id="link-1915" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1915', 'pi', 'link-1866');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1916" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1916', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1664"></a><tt class="py-lineno">1664</tt>  <tt class="py-line"> </tt>
+<a name="L1665"></a><tt class="py-lineno">1665</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1917" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1917', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1666"></a><tt class="py-lineno">1666</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1918" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1918', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1919" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1919', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1667"></a><tt class="py-lineno">1667</tt>  <tt class="py-line">        <tt id="link-1920" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1920', 'root', 'link-215');">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-1921" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1921', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1922" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1922', 'pi', 'link-1866');">pi</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1668"></a><tt class="py-lineno">1668</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1923" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1923', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;?TARGET TEXT?&gt;TAIL&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1669"></a><tt class="py-lineno">1669</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1924" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1924', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1925" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1925', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_root_pi"></a><div id="ETreeOnlyTestCase.test_addnext_root_pi-def"><a name="L1671"></a><tt class="py-lineno">1671</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_root_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_root_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root_pi">test_addnext_root_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="ETreeOnlyTestCase.test_addnext_root_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_root_pi-expanded"><a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">        <tt id="link-1926" 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-1924', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1925" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1926', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1927" 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-1925', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1926" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1927', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1928" 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-1926', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1670"></a><tt class="py-lineno">1670</tt>  <tt class="py-line">        <tt id="link-1927" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1927', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1928" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1928', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">        <tt id="link-1929" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1929', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1930" 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-1928', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1929" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1929', 'PI', 'link-468');">PI</a></tt> </tt>
-<a name="L1671"></a><tt class="py-lineno">1671</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1931" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1930', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1931" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1931', 'PI', 'link-479');">PI</a></tt> </tt>
+<a name="L1674"></a><tt class="py-lineno">1674</tt>  <tt class="py-line">        <tt id="link-1932" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1932', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1933" 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-1931', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1672"></a><tt class="py-lineno">1672</tt>  <tt class="py-line">        <tt id="link-1932" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1932', 'pi', 'link-1864');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1933" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1933', 'PI', 'link-468');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1673"></a><tt class="py-lineno">1673</tt>  <tt class="py-line">        <tt id="link-1934" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1934', 'pi', 'link-1864');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1935" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1935', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</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-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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1936', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-1937" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1937', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></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 id="link-1939" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1939', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1940" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1940', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1941" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1941', 'pi', 'link-1864');">pi</a></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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1942" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1942', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;\n&lt;?TARGET TEXT?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1943" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1943', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_comment"></a><div id="ETreeOnlyTestCase.test_addnext_comment-def"><a name="L1681"></a><tt class="py-lineno">1681</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_comment">test_addnext_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addnext_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_comment-expanded"><a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">        <tt id="link-1945" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1933', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1675"></a><tt class="py-lineno">1675</tt>  <tt class="py-line">        <tt id="link-1934" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1934', 'pi', 'link-1866');">pi</a></tt> <tt class="py-op">=</tt> <tt id="link-1935" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-1935', 'PI', 'link-479');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">'TARGET'</tt><tt class="py-op">,</tt> <tt class="py-string">'TEXT'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1676"></a><tt class="py-lineno">1676</tt>  <tt class="py-line">        <tt id="link-1936" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1936', 'pi', 'link-1866');">pi</a></tt><tt class="py-op">.</tt><tt id="link-1937" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1937', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1677"></a><tt class="py-lineno">1677</tt>  <tt class="py-line"> </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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1938" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1938', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1679"></a><tt class="py-lineno">1679</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1939" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1939', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1940" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1940', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1680"></a><tt class="py-lineno">1680</tt>  <tt class="py-line">        <tt id="link-1941" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1941', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1942" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1942', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1943" class="py-name"><a title="lxml.etree.TreeBuilder.pi" class="py-name" href="#" onclick="return doclink('link-1943', 'pi', 'link-1866');">pi</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1681"></a><tt class="py-lineno">1681</tt>  <tt class="py-line">        <tt 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.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1944', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;\n&lt;?TARGET TEXT?&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1682"></a><tt class="py-lineno">1682</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1945" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1945', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1946" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1946', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_comment"></a><div id="ETreeOnlyTestCase.test_addnext_comment-def"><a name="L1684"></a><tt class="py-lineno">1684</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_comment">test_addnext_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addnext_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_comment-expanded"><a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">        <tt id="link-1947" 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-1945', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1946" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1947', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1948" 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-1946', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1947" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1948', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1949" 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-1947', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1683"></a><tt class="py-lineno">1683</tt>  <tt class="py-line">        <tt id="link-1948" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1948', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1949" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1949', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">        <tt id="link-1950" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1950', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1951" 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-1949', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1950" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1950', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1684"></a><tt class="py-lineno">1684</tt>  <tt class="py-line">        <tt id="link-1951" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1951', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1952" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1951', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1952" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1952', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">        <tt id="link-1953" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1953', 'Comment', 'link-481');">Comment</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
 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-1952', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1953" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1953', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L1685"></a><tt class="py-lineno">1685</tt>  <tt class="py-line">        <tt id="link-1954" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1954', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1955" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1954', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1955" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1955', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">        <tt id="link-1956" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1956', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1957" 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-1955', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1686"></a><tt class="py-lineno">1686</tt>  <tt class="py-line">        <tt id="link-1956" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1956', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1957" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1957', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1687"></a><tt class="py-lineno">1687</tt>  <tt class="py-line">        <tt id="link-1958" class="py-name" targets="Method lxml.etree.TreeBuilder.comment()=lxml.etree.TreeBuilder-class.html#comment"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1958', 'comment', 'link-1958');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-1959" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1959', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
-<a name="L1688"></a><tt class="py-lineno">1688</tt>  <tt class="py-line">        <tt id="link-1960" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1960', 'comment', 'link-1958');">comment</a></tt><tt class="py-op">.</tt><tt id="link-1961" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1961', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
-<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line"> </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-1962" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1962', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 id="link-1963" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1963', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1964" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1964', 'root', 'link-215');">root</a></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 id="link-1965" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1965', 'root', 'link-215');">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-1966" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1966', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1967" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1967', 'comment', 'link-1958');">comment</a></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 id="link-1968" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1968', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;!--TEXT --&gt;TAIL&lt;/root&gt;'</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 id="link-1969" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1969', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1695"></a><tt class="py-lineno">1695</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addnext_root_comment"></a><div id="ETreeOnlyTestCase.test_addnext_root_comment-def"><a name="L1696"></a><tt class="py-lineno">1696</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_root_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_root_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root_comment">test_addnext_root_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addnext_root_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_root_comment-expanded"><a name="L1697"></a><tt class="py-lineno">1697</tt>  <tt class="py-line">        <tt id="link-1971" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1957', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1689"></a><tt class="py-lineno">1689</tt>  <tt class="py-line">        <tt id="link-1958" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1958', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-1959" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1959', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1690"></a><tt class="py-lineno">1690</tt>  <tt class="py-line">        <tt id="link-1960" class="py-name" targets="Method lxml.etree.TreeBuilder.comment()=lxml.etree.TreeBuilder-class.html#comment"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1960', 'comment', 'link-1960');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-1961" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1961', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
+<a name="L1691"></a><tt class="py-lineno">1691</tt>  <tt class="py-line">        <tt id="link-1962" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1962', 'comment', 'link-1960');">comment</a></tt><tt class="py-op">.</tt><tt id="link-1963" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1963', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1692"></a><tt class="py-lineno">1692</tt>  <tt class="py-line"> </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 id="link-1964" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1964', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 id="link-1965" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1965', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1966" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1966', 'root', 'link-215');">root</a></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 id="link-1967" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1967', 'root', 'link-215');">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-1968" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1968', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1969" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1969', 'comment', 'link-1960');">comment</a></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 id="link-1970" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1970', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;!--TEXT --&gt;TAIL&lt;/root&gt;'</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 id="link-1971" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1971', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1972" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1972', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addnext_root_comment"></a><div id="ETreeOnlyTestCase.test_addnext_root_comment-def"><a name="L1699"></a><tt class="py-lineno">1699</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addnext_root_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addnext_root_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addnext_root_comment">test_addnext_root_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addnext_root_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addnext_root_comment-expanded"><a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">        <tt id="link-1973" 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-1971', 'Element', 'link-64');">Element</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1973', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1974" 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-1972', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1973" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1974', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1975" 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-1973', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1698"></a><tt class="py-lineno">1698</tt>  <tt class="py-line">        <tt id="link-1974" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1974', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1975" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1975', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">        <tt id="link-1976" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1976', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1977" 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-1975', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1976" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1976', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L1699"></a><tt class="py-lineno">1699</tt>  <tt class="py-line">        <tt id="link-1977" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1977', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1978" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1977', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1978" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1978', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line">        <tt id="link-1979" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1979', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-1980" 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-1978', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1700"></a><tt class="py-lineno">1700</tt>  <tt class="py-line">        <tt id="link-1979" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1979', 'comment', 'link-1958');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-1980" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1980', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
-<a name="L1701"></a><tt class="py-lineno">1701</tt>  <tt class="py-line">        <tt id="link-1981" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1981', 'comment', 'link-1958');">comment</a></tt><tt class="py-op">.</tt><tt id="link-1982" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1982', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
-<a name="L1702"></a><tt class="py-lineno">1702</tt>  <tt class="py-line"> </tt>
-<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1983" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1983', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</tt><tt class="py-op">)</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-1984" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1984', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1705"></a><tt class="py-lineno">1705</tt>  <tt class="py-line">        <tt id="link-1986" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1986', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1987" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1987', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1988" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1988', 'comment', 'link-1958');">comment</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1706"></a><tt class="py-lineno">1706</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1989" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1989', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;\n&lt;!--TEXT --&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1990" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1990', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_comment"></a><div id="ETreeOnlyTestCase.test_addprevious_comment-def"><a name="L1709"></a><tt class="py-lineno">1709</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_comment">test_addprevious_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addprevious_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_comment-expanded"><a name="L1710"></a><tt class="py-lineno">1710</tt>  <tt class="py-line">        <tt id="link-1992" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1980', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1703"></a><tt class="py-lineno">1703</tt>  <tt class="py-line">        <tt id="link-1981" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1981', 'comment', 'link-1960');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-1982" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1982', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
+<a name="L1704"></a><tt class="py-lineno">1704</tt>  <tt class="py-line">        <tt id="link-1983" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1983', 'comment', 'link-1960');">comment</a></tt><tt class="py-op">.</tt><tt id="link-1984" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-1984', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-1985" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1985', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1986" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1986', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1987" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1987', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1708"></a><tt class="py-lineno">1708</tt>  <tt class="py-line">        <tt id="link-1988" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1988', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-1989" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-1989', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt id="link-1990" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-1990', 'comment', 'link-1960');">comment</a></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-1991" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-1991', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;\n&lt;!--TEXT --&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1992" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-1992', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-1993" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-1993', 'root', 'link-215');">root</a></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="ETreeOnlyTestCase.test_addprevious_comment"></a><div id="ETreeOnlyTestCase.test_addprevious_comment-def"><a name="L1712"></a><tt class="py-lineno">1712</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_comment">test_addprevious_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addprevious_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_comment-expanded"><a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line">        <tt id="link-1994" 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-1992', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1993" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1994', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1995" 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-1993', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1994" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1995', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1996" 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-1994', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1711"></a><tt class="py-lineno">1711</tt>  <tt class="py-line">        <tt id="link-1995" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1995', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1996" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-1996', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">        <tt id="link-1997" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1997', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1998" 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-1996', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1997" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1997', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1712"></a><tt class="py-lineno">1712</tt>  <tt class="py-line">        <tt id="link-1998" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-1998', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-1999" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-1998', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-1999" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-1999', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">        <tt id="link-2000" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2000', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2001" 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-1999', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2000" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2000', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L1713"></a><tt class="py-lineno">1713</tt>  <tt class="py-line">        <tt id="link-2001" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2001', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2002" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2001', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2002" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2002', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">        <tt id="link-2003" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2003', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2004" 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-2002', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1714"></a><tt class="py-lineno">1714</tt>  <tt class="py-line">        <tt id="link-2003" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2003', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-2004" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2004', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1715"></a><tt class="py-lineno">1715</tt>  <tt class="py-line">        <tt id="link-2005" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2005', 'comment', 'link-1958');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-2006" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2006', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
-<a name="L1716"></a><tt class="py-lineno">1716</tt>  <tt class="py-line">        <tt id="link-2007" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2007', 'comment', 'link-1958');">comment</a></tt><tt class="py-op">.</tt><tt id="link-2008" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2008', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2009" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2009', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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-name">self</tt><tt class="py-op">.</tt><tt id="link-2010" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2010', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2011" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2011', 'root', 'link-215');">root</a></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 id="link-2012" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2012', 'root', 'link-215');">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-2013" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-2013', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-2014" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2014', 'comment', 'link-1958');">comment</a></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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2015" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2015', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;!--TEXT --&gt;TAIL&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-2016" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2016', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2017" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2017', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_addprevious_root_comment"></a><div id="ETreeOnlyTestCase.test_addprevious_root_comment-def"><a name="L1724"></a><tt class="py-lineno">1724</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_root_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_root_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_root_comment">test_addprevious_root_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_addprevious_root_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_root_comment-expanded"><a name="L1725"></a><tt class="py-lineno">1725</tt>  <tt class="py-line">        <tt id="link-2018" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2004', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1717"></a><tt class="py-lineno">1717</tt>  <tt class="py-line">        <tt id="link-2005" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2005', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-2006" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2006', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1718"></a><tt class="py-lineno">1718</tt>  <tt class="py-line">        <tt id="link-2007" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2007', 'comment', 'link-1960');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-2008" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2008', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
+<a name="L1719"></a><tt class="py-lineno">1719</tt>  <tt class="py-line">        <tt id="link-2009" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2009', 'comment', 'link-1960');">comment</a></tt><tt class="py-op">.</tt><tt id="link-2010" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2010', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1720"></a><tt class="py-lineno">1720</tt>  <tt class="py-line"> </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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2011" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2011', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-2012" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2012', '_writeElement', 'link-328');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1723"></a><tt class="py-lineno">1723</tt>  <tt class="py-line">        <tt id="link-2014" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2014', 'root', 'link-215');">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-2015" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-2015', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-2016" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2016', 'comment', 'link-1960');">comment</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1724"></a><tt class="py-lineno">1724</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2017" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2017', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;!--TEXT --&gt;TAIL&lt;a&gt;&lt;/a&gt;&lt;/root&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2018" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2018', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2019" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2019', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_addprevious_root_comment"></a><div id="ETreeOnlyTestCase.test_addprevious_root_comment-def"><a name="L1727"></a><tt class="py-lineno">1727</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_addprevious_root_comment-toggle" onclick="return toggle('ETreeOnlyTestCase.test_addprevious_root_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_addprevious_root_comment">test_addprevious_root_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_addprevious_root_comment-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_addprevious_root_comment-expanded"><a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt id="link-2020" 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-2018', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2019" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2020', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2021" 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-2019', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2020" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2021', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2022" 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-2020', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1726"></a><tt class="py-lineno">1726</tt>  <tt class="py-line">        <tt id="link-2021" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2021', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2022" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2022', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt id="link-2023" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2023', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2024" 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-2022', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2023" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2023', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L1727"></a><tt class="py-lineno">1727</tt>  <tt class="py-line">        <tt id="link-2024" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2024', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2025" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2024', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2025" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2025', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L1730"></a><tt class="py-lineno">1730</tt>  <tt class="py-line">        <tt id="link-2026" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2026', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2027" 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-2025', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1728"></a><tt class="py-lineno">1728</tt>  <tt class="py-line">        <tt id="link-2026" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2026', 'comment', 'link-1958');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-2027" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2027', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
-<a name="L1729"></a><tt class="py-lineno">1729</tt>  <tt class="py-line">        <tt id="link-2028" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2028', 'comment', 'link-1958');">comment</a></tt><tt class="py-op">.</tt><tt id="link-2029" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2029', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</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 id="link-2030" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2030', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</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 id="link-2031" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2031', '_writeElement', 'link-317');">_writeElement</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-215');">root</a></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 id="link-2033" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2033', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2034" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-2034', 'addprevious', 'link-1731');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-2035" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2035', 'comment', 'link-1958');">comment</a></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 id="link-2036" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2036', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--TEXT --&gt;\n&lt;root&gt;&lt;/root&gt;'</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 id="link-2037" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2037', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2038" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2038', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><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-comment"># ET's Elements have items() and key(), but not values()</tt> </tt>
-<a name="ETreeOnlyTestCase.test_attribute_values"></a><div id="ETreeOnlyTestCase.test_attribute_values-def"><a name="L1738"></a><tt class="py-lineno">1738</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_values-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_values');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_values">test_attribute_values</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attribute_values-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_values-expanded"><a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line">        <tt id="link-2039" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2027', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1731"></a><tt class="py-lineno">1731</tt>  <tt class="py-line">        <tt id="link-2028" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2028', 'comment', 'link-1960');">comment</a></tt> <tt class="py-op">=</tt> <tt id="link-2029" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2029', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-string">'TEXT '</tt><tt class="py-op">)</tt> </tt>
+<a name="L1732"></a><tt class="py-lineno">1732</tt>  <tt class="py-line">        <tt id="link-2030" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2030', 'comment', 'link-1960');">comment</a></tt><tt class="py-op">.</tt><tt id="link-2031" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-2031', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TAIL"</tt> </tt>
+<a name="L1733"></a><tt class="py-lineno">1733</tt>  <tt class="py-line"> </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 id="link-2032" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2032', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;/root&gt;'</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 id="link-2033" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2033', '_writeElement', 'link-328');">_writeElement</a></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-215');">root</a></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 id="link-2035" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2035', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2036" class="py-name"><a title="lxml.etree._Element.addprevious" class="py-name" href="#" onclick="return doclink('link-2036', 'addprevious', 'link-1733');">addprevious</a></tt><tt class="py-op">(</tt><tt id="link-2037" class="py-name"><a title="lxml.etree.TreeBuilder.comment" class="py-name" href="#" onclick="return doclink('link-2037', 'comment', 'link-1960');">comment</a></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 id="link-2038" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2038', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--TEXT --&gt;\n&lt;root&gt;&lt;/root&gt;'</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 id="link-2039" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2039', '_writeElement', 'link-328');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1739"></a><tt class="py-lineno">1739</tt>  <tt class="py-line"> </tt>
+<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">    <tt class="py-comment"># ET's Elements have items() and key(), but not values()</tt> </tt>
+<a name="ETreeOnlyTestCase.test_attribute_values"></a><div id="ETreeOnlyTestCase.test_attribute_values-def"><a name="L1741"></a><tt class="py-lineno">1741</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_values-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_values');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_values">test_attribute_values</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attribute_values-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_values-expanded"><a name="L1742"></a><tt class="py-lineno">1742</tt>  <tt class="py-line">        <tt id="link-2041" 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-2039', 'XML', 'link-212');">XML</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
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2041', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2042" 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-2040', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2041" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2042', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2043" 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-2041', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L1740"></a><tt class="py-lineno">1740</tt>  <tt class="py-line">         </tt>
-<a name="L1741"></a><tt class="py-lineno">1741</tt>  <tt class="py-line">        <tt id="link-2042" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2042', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2043" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2043', 'XML', 'link-212');">XML</a></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 id="link-2044" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2044', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2045" 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-2043', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2044" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2044', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc alpha="Alpha" beta="Beta" gamma="Gamma"/&gt;'</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 id="link-2045" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2045', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2046" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2046', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc alpha="Alpha" beta="Beta" gamma="Gamma"/&gt;'</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 id="link-2047" 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-2045', 'values', 'link-260');">values</a></tt> <tt class="py-op">=</tt> <tt id="link-2046" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2046', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2047" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2047', 'values', 'link-271');">values</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2049" 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-2047', 'values', 'link-260');">values</a></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 id="link-2048" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2049', 'values', 'link-271');">values</a></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 id="link-2050" 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-2048', 'values', 'link-260');">values</a></tt><tt class="py-op">.</tt><tt class="py-name">sort</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-op">[</tt><tt class="py-string">'Alpha'</tt><tt class="py-op">,</tt> <tt class="py-string">'Beta'</tt><tt class="py-op">,</tt> <tt class="py-string">'Gamma'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-2049" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2050', 'values', 'link-271');">values</a></tt><tt class="py-op">.</tt><tt class="py-name">sort</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 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">'Alpha'</tt><tt class="py-op">,</tt> <tt class="py-string">'Beta'</tt><tt class="py-op">,</tt> <tt class="py-string">'Gamma'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-2051" 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-2049', 'values', 'link-260');">values</a></tt><tt class="py-op">)</tt> </tt>
-</div><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-comment"># gives error in ElementTree</tt> </tt>
-<a name="ETreeOnlyTestCase.test_comment_empty"></a><div id="ETreeOnlyTestCase.test_comment_empty-def"><a name="L1747"></a><tt class="py-lineno">1747</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_empty">test_comment_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="ETreeOnlyTestCase.test_comment_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_empty-expanded"><a name="L1748"></a><tt class="py-lineno">1748</tt>  <tt class="py-line">        <tt id="link-2050" class="py-name"><a title="lxml.etree.Element
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2051', 'values', 'link-271');">values</a></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="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">    <tt class="py-comment"># gives error in ElementTree</tt> </tt>
+<a name="ETreeOnlyTestCase.test_comment_empty"></a><div id="ETreeOnlyTestCase.test_comment_empty-def"><a name="L1750"></a><tt class="py-lineno">1750</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_empty">test_comment_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="ETreeOnlyTestCase.test_comment_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_empty-expanded"><a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">        <tt id="link-2052" 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-2050', 'Element', 'link-64');">Element</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2052', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2053" 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-2051', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2052" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2053', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2054" 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-2052', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1749"></a><tt class="py-lineno">1749</tt>  <tt class="py-line">        <tt id="link-2053" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2053', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2054" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2054', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">        <tt id="link-2055" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2055', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2056" 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-2054', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2055" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2055', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L1750"></a><tt class="py-lineno">1750</tt>  <tt class="py-line"> </tt>
-<a name="L1751"></a><tt class="py-lineno">1751</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2056" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2056', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2057" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2057', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-line"> </tt>
+<a name="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2058" 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-2056', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1752"></a><tt class="py-lineno">1752</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2057" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2057', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt id="link-2058" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2058', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1753"></a><tt class="py-lineno">1753</tt>  <tt class="py-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="L1754"></a><tt class="py-lineno">1754</tt>  <tt class="py-line">            <tt id="link-2059" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2059', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!----&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2060" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2060', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1756"></a><tt class="py-lineno">1756</tt>  <tt class="py-line"> </tt>
-<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">    <tt class="py-comment"># ElementTree ignores comments</tt> </tt>
-<a name="ETreeOnlyTestCase.test_comment_parse_empty"></a><div id="ETreeOnlyTestCase.test_comment_parse_empty-def"><a name="L1758"></a><tt class="py-lineno">1758</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_parse_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_parse_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_parse_empty">test_comment_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="ETreeOnlyTestCase.test_comment_parse_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_parse_empty-expanded"><a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line">        <tt id="link-2061" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2058', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1755"></a><tt class="py-lineno">1755</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2059" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2059', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt id="link-2060" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2060', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1757"></a><tt class="py-lineno">1757</tt>  <tt class="py-line">            <tt id="link-2061" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2061', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!----&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1758"></a><tt class="py-lineno">1758</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2062" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2062', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1759"></a><tt class="py-lineno">1759</tt>  <tt class="py-line"> </tt>
+<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">    <tt class="py-comment"># ElementTree ignores comments</tt> </tt>
+<a name="ETreeOnlyTestCase.test_comment_parse_empty"></a><div id="ETreeOnlyTestCase.test_comment_parse_empty-def"><a name="L1761"></a><tt class="py-lineno">1761</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_parse_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_parse_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_parse_empty">test_comment_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="ETreeOnlyTestCase.test_comment_parse_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_parse_empty-expanded"><a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">        <tt id="link-2063" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2061', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2062" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2063', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2064" 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-2062', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2063" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2064', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2065" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2063', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L1760"></a><tt class="py-lineno">1760</tt>  <tt class="py-line">        <tt id="link-2064" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2064', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2065" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2065', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L1763"></a><tt class="py-lineno">1763</tt>  <tt class="py-line">        <tt id="link-2066" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2066', 'tostring', 'link-660');">tostring</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
 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-2065', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2066" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2066', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L1761"></a><tt class="py-lineno">1761</tt>  <tt class="py-line"> </tt>
-<a name="L1762"></a><tt class="py-lineno">1762</tt>  <tt class="py-line">        <tt id="link-2067" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2067', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-2068" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2068', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;!----&gt;&lt;c/&gt;&lt;/a&gt;'</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">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-2069" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2069', 'xml', 'link-308');">xml</a></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">doc</tt> <tt class="py-op">=</tt> <tt id="link-2070" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2067', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2068" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2068', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L1764"></a><tt class="py-lineno">1764</tt>  <tt class="py-line"> </tt>
+<a name="L1765"></a><tt class="py-lineno">1765</tt>  <tt class="py-line">        <tt id="link-2069" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2069', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-2070" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2070', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;!----&gt;&lt;c/&gt;&lt;/a&gt;'</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">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-2071" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2071', 'xml', 'link-319');">xml</a></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">doc</tt> <tt class="py-op">=</tt> <tt id="link-2072" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2070', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</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">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2071" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2071', 'getroot', 'link-752');">getroot</a></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>
-<a name="L1767"></a><tt class="py-lineno">1767</tt>  <tt class="py-line">            <tt class="py-string">''</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">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-2072" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2072', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</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">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2073" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2073', 'getroot', 'link-763');">getroot</a></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>
+<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">            <tt class="py-string">''</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">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-2074" 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-2072', 'text', 'link-189');">text</a></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>
-<a name="L1770"></a><tt class="py-lineno">1770</tt>  <tt class="py-line">            <tt id="link-2073" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2073', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L1771"></a><tt class="py-lineno">1771</tt>  <tt class="py-line">            <tt id="link-2074" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2074', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">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="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">    <tt class="py-comment"># ElementTree ignores comments</tt> </tt>
-<a name="ETreeOnlyTestCase.test_comment_no_proxy_yet"></a><div id="ETreeOnlyTestCase.test_comment_no_proxy_yet-def"><a name="L1774"></a><tt class="py-lineno">1774</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_no_proxy_yet-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_no_proxy_yet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_no_proxy_yet">test_comment_no_proxy_yet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_comment_no_proxy_yet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_no_proxy_yet-expanded"><a name="L1775"></a><tt class="py-lineno">1775</tt>  <tt class="py-line">        <tt id="link-2075" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2074', 'text', 'link-189');">text</a></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>
+<a name="L1773"></a><tt class="py-lineno">1773</tt>  <tt class="py-line">            <tt id="link-2075" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2075', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L1774"></a><tt class="py-lineno">1774</tt>  <tt class="py-line">            <tt id="link-2076" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2076', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</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="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">    <tt class="py-comment"># ElementTree ignores comments</tt> </tt>
+<a name="ETreeOnlyTestCase.test_comment_no_proxy_yet"></a><div id="ETreeOnlyTestCase.test_comment_no_proxy_yet-def"><a name="L1777"></a><tt class="py-lineno">1777</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_no_proxy_yet-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_no_proxy_yet');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_no_proxy_yet">test_comment_no_proxy_yet</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_comment_no_proxy_yet-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_no_proxy_yet-expanded"><a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">        <tt id="link-2077" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2075', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2076" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2077', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2078" 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-2076', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2077" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2078', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2079" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2077', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L1776"></a><tt class="py-lineno">1776</tt>  <tt class="py-line">         </tt>
-<a name="L1777"></a><tt class="py-lineno">1777</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-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;!-- hoi --&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1778"></a><tt class="py-lineno">1778</tt>  <tt class="py-line">        <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-2078" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2079', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L1779"></a><tt class="py-lineno">1779</tt>  <tt class="py-line">         </tt>
+<a name="L1780"></a><tt class="py-lineno">1780</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-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;!-- hoi --&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">        <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-2080" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2078', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</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">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2079" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2079', 'getroot', 'link-752');">getroot</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1781"></a><tt class="py-lineno">1781</tt>  <tt class="py-line">            <tt class="py-string">' hoi '</tt><tt class="py-op">,</tt> </tt>
-<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">            <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-2080" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2080', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1782"></a><tt class="py-lineno">1782</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2081" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2081', 'getroot', 'link-763');">getroot</a></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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">            <tt class="py-string">' hoi '</tt><tt class="py-op">,</tt> </tt>
+<a name="L1785"></a><tt class="py-lineno">1785</tt>  <tt class="py-line">            <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-2082" 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-2080', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1783"></a><tt class="py-lineno">1783</tt>  <tt class="py-line"> </tt>
-<a name="L1784"></a><tt class="py-lineno">1784</tt>  <tt class="py-line">    <tt class="py-comment"># does not raise an exception in ElementTree</tt> </tt>
-<a name="ETreeOnlyTestCase.test_comment_immutable"></a><div id="ETreeOnlyTestCase.test_comment_immutable-def"><a name="L1785"></a><tt class="py-lineno">1785</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_immutable-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_immutable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_immutable">test_comment_immutable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_comment_immutable-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_immutable-expanded"><a name="L1786"></a><tt class="py-lineno">1786</tt>  <tt class="py-line">        <tt id="link-2081" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2082', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><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-comment"># does not raise an exception in ElementTree</tt> </tt>
+<a name="ETreeOnlyTestCase.test_comment_immutable"></a><div id="ETreeOnlyTestCase.test_comment_immutable-def"><a name="L1788"></a><tt class="py-lineno">1788</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_immutable-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_immutable');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_immutable">test_comment_immutable</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_comment_immutable-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_immutable-expanded"><a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">        <tt id="link-2083" 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-2081', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2082" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2083', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2084" 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-2082', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2083" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2084', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2085" 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-2083', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1787"></a><tt class="py-lineno">1787</tt>  <tt class="py-line">        <tt id="link-2084" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2084', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2085" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2085', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">        <tt id="link-2086" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2086', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2087" 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-2085', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2086" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2086', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L1788"></a><tt class="py-lineno">1788</tt>  <tt class="py-line"> </tt>
-<a name="L1789"></a><tt class="py-lineno">1789</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2087" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2087', 'Comment', 'link-470');">Comment</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1790"></a><tt class="py-lineno">1790</tt>  <tt class="py-line">        <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-2088" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2087', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2088" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2088', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line"> </tt>
+<a name="L1792"></a><tt class="py-lineno">1792</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2089" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2089', 'Comment', 'link-481');">Comment</a></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">el</tt> <tt class="py-op">=</tt> <tt id="link-2090" 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-2088', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'myel'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1791"></a><tt class="py-lineno">1791</tt>  <tt class="py-line"> </tt>
-<a name="L1792"></a><tt class="py-lineno">1792</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">c</tt><tt class="py-op">.</tt><tt id="link-2089" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2089', 'append', 'link-673');">append</a></tt><tt class="py-op">,</tt> <tt class="py-name">el</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2090" class="py-name"><a title="lxml.etree._Element.insert" class="py-name" href="#" onclick="return doclink('link-2090', 'insert', 'link-7');">insert</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
-<a name="L1794"></a><tt class="py-lineno">1794</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">c</tt><tt class="py-op">.</tt><tt id="link-2091" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2091', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"myattr"</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1795"></a><tt class="py-lineno">1795</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_comment_immutable_attrib"></a><div id="ETreeOnlyTestCase.test_comment_immutable_attrib-def"><a name="L1796"></a><tt class="py-lineno">1796</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_immutable_attrib-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_immutable_attrib');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_immutable_attrib">test_comment_immutable_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="ETreeOnlyTestCase.test_comment_immutable_attrib-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_immutable_attrib-expanded"><a name="L1797"></a><tt class="py-lineno">1797</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2092" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2090', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'myel'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1794"></a><tt class="py-lineno">1794</tt>  <tt class="py-line"> </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 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">c</tt><tt class="py-op">.</tt><tt id="link-2091" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2091', 'append', 'link-684');">append</a></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">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">c</tt><tt class="py-op">.</tt><tt id="link-2092" class="py-name"><a title="lxml.etree._Element.insert" class="py-name" href="#" onclick="return doclink('link-2092', 'insert', 'link-7');">insert</a></tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> </tt>
+<a name="L1797"></a><tt class="py-lineno">1797</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">c</tt><tt class="py-op">.</tt><tt id="link-2093" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2093', 'set', 'link-236');">set</a></tt><tt class="py-op">,</tt> <tt class="py-string">"myattr"</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1798"></a><tt class="py-lineno">1798</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_comment_immutable_attrib"></a><div id="ETreeOnlyTestCase.test_comment_immutable_attrib-def"><a name="L1799"></a><tt class="py-lineno">1799</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_comment_immutable_attrib-toggle" onclick="return toggle('ETreeOnlyTestCase.test_comment_immutable_attrib');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_comment_immutable_attrib">test_comment_immutable_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="ETreeOnlyTestCase.test_comment_immutable_attrib-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_comment_immutable_attrib-expanded"><a name="L1800"></a><tt class="py-lineno">1800</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2094" 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-2092', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2093" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2093', 'Comment', 'link-470');">Comment</a></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 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">c</tt><tt class="py-op">.</tt><tt id="link-2094" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2094', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2095" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2095', 'Comment', 'link-481');">Comment</a></tt><tt class="py-op">(</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-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2096" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2094', 'attrib', 'link-219');">attrib</a></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">self</tt><tt class="py-op">.</tt><tt id="link-2095" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2095', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2096" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2096', 'attrib', 'link-219');">attrib</a></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>
+<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2097" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2097', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2098" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2096', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2097" class="py-name" targets="Method lxml.etree._Attrib.__contains__()=lxml.etree._Attrib-class.html#__contains__,Method lxml.etree._Element.__contains__()=lxml.etree._Element-class.html#__contains__,Method lxml.etree._IDDict.__contains__()=lxml.etree._IDDict-class.html#__contains__,Method lxml.etree._ListErrorLog.__contains__()=lxml.etree._ListErrorLog-class.html#__contains__,Method lxml.html.FieldsDict.__contains__()=lxml.html.FieldsDict-class.html#__contains__,Method lxml.html.InputGetter.__contains__()=lxml.html.InputGetter-class.html#__contains__"><a title="lxml.etree._Attrib.__contains__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2098', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2099" class="py-name" targets="Method lxml.etree._Attrib.__contains__()=lxml.etree._Attrib-class.html#__contains__,Method lxml.etree._Element.__contains__()=lxml.etree._Element-class.html#__contains__,Method lxml.etree._IDDict.__contains__()=lxml.etree._IDDict-class.html#__contains__,Method lxml.etree._ListErrorLog.__contains__()=lxml.etree._ListErrorLog-class.html#__contains__,Method lxml.html.FieldsDict.__contains__()=lxml.html.FieldsDict-class.html#__contains__,Method lxml.html.InputGetter.__contains__()=lxml.html.InputGetter-class.html#__contains__"><a title="lxml.etree._Attrib.__contains__
 lxml.etree._Element.__contains__
 lxml.etree._IDDict.__contains__
 lxml.etree._ListErrorLog.__contains__
 lxml.html.FieldsDict.__contains__
-lxml.html.InputGetter.__contains__" class="py-name" href="#" onclick="return doclink('link-2097', '__contains__', 'link-2097');">__contains__</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt><tt class="py-op">)</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 id="link-2098" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2098', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2099" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.__contains__" class="py-name" href="#" onclick="return doclink('link-2099', '__contains__', 'link-2099');">__contains__</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2100" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2100', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2101" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2099', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1802"></a><tt class="py-lineno">1802</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2100" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2100', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2101" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2101', 'attrib', 'link-219');">attrib</a></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 id="link-2102" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2102', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2103" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2101', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2102" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2103', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2104" 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-2102', 'keys', 'link-259');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1803"></a><tt class="py-lineno">1803</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2103" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2103', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2104" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-2104', 'keys', 'link-270');">keys</a></tt><tt class="py-op">(</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 id="link-2105" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2105', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2106" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2104', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2105" class="py-name"><a title="lxml.etree._Attrib.values
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2106', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2107" 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-2105', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1804"></a><tt class="py-lineno">1804</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2106" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2106', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt><tt class="py-op">,</tt> <tt class="py-string">'huhu'</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2107" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2107', 'values', 'link-271');">values</a></tt><tt class="py-op">(</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 id="link-2108" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2108', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt><tt class="py-op">,</tt> <tt class="py-string">'huhu'</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2109" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2107', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2108" class="py-name"><a title="lxml.etree._Attrib.items
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2109', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2110" 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-2108', 'items', 'link-261');">items</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>
-<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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2109" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-2110', 'items', 'link-272');">items</a></tt><tt class="py-op">(</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>
+<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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2111" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2109', 'attrib', 'link-219');">attrib</a></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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2110" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2111', 'attrib', 'link-219');">attrib</a></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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2112" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2110', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2111" class="py-name"><a title="lxml.etree._Attrib.keys
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2112', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2113" 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-2111', 'keys', 'link-259');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2112" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-2113', 'keys', 'link-270');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2114" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2112', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2113" class="py-name"><a title="lxml.etree._Attrib.items
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2114', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2115" 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-2113', 'items', 'link-261');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2114" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-2115', 'items', 'link-272');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2116" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2114', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2115" class="py-name"><a title="lxml.etree._Attrib.values
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2116', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2117" 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-2115', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2116" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2117', 'values', 'link-271');">values</a></tt><tt class="py-op">(</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2118" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2116', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2117" class="py-name" targets="Method lxml.etree._Attrib.iterkeys()=lxml.etree._Attrib-class.html#iterkeys,Method lxml.etree._IDDict.iterkeys()=lxml.etree._IDDict-class.html#iterkeys"><a title="lxml.etree._Attrib.iterkeys
-lxml.etree._IDDict.iterkeys" class="py-name" href="#" onclick="return doclink('link-2117', 'iterkeys', 'link-2117');">iterkeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2118" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2118', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2119" class="py-name" targets="Method lxml.etree._Attrib.iterkeys()=lxml.etree._Attrib-class.html#iterkeys,Method lxml.etree._IDDict.iterkeys()=lxml.etree._IDDict-class.html#iterkeys"><a title="lxml.etree._Attrib.iterkeys
+lxml.etree._IDDict.iterkeys" class="py-name" href="#" onclick="return doclink('link-2119', 'iterkeys', 'link-2119');">iterkeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2120" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2118', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2119" class="py-name" targets="Method lxml.etree._Attrib.iteritems()=lxml.etree._Attrib-class.html#iteritems,Method lxml.etree._IDDict.iteritems()=lxml.etree._IDDict-class.html#iteritems"><a title="lxml.etree._Attrib.iteritems
-lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-2119', 'iteritems', 'link-2119');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2120" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2120', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2121" class="py-name" targets="Method lxml.etree._Attrib.iteritems()=lxml.etree._Attrib-class.html#iteritems,Method lxml.etree._IDDict.iteritems()=lxml.etree._IDDict-class.html#iteritems"><a title="lxml.etree._Attrib.iteritems
+lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-2121', 'iteritems', 'link-2121');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</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">c</tt><tt class="py-op">.</tt><tt id="link-2122" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2120', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2121" class="py-name" targets="Method lxml.etree._Attrib.itervalues()=lxml.etree._Attrib-class.html#itervalues,Method lxml.etree._IDDict.itervalues()=lxml.etree._IDDict-class.html#itervalues"><a title="lxml.etree._Attrib.itervalues
-lxml.etree._IDDict.itervalues" class="py-name" href="#" onclick="return doclink('link-2121', 'itervalues', 'link-2121');">itervalues</a></tt><tt class="py-op">(</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>
-<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">'HUHU'</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2122" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2122', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2123" class="py-name" targets="Method lxml.etree._Attrib.itervalues()=lxml.etree._Attrib-class.html#itervalues,Method lxml.etree._IDDict.itervalues()=lxml.etree._IDDict-class.html#itervalues"><a title="lxml.etree._Attrib.itervalues
+lxml.etree._IDDict.itervalues" class="py-name" href="#" onclick="return doclink('link-2123', 'itervalues', 'link-2123');">itervalues</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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>
+<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">'HUHU'</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2124" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2122', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2123" 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-2123', 'pop', 'link-2123');">pop</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt><tt class="py-op">,</tt> <tt class="py-string">'HUHU'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2124" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2124', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2125" 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-2125', 'pop', 'link-2125');">pop</a></tt><tt class="py-op">(</tt><tt class="py-string">'nope'</tt><tt class="py-op">,</tt> <tt class="py-string">'HUHU'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2126" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2124', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2125" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-2125', 'pop', 'link-2123');">pop</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2126" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2126', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2127" class="py-name"><a title="lxml.etree._Attrib.pop" class="py-name" href="#" onclick="return doclink('link-2127', 'pop', 'link-2125');">pop</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2128" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2126', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2127" class="py-name"><a title="lxml.etree._Attrib.__getitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2128', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2129" class="py-name"><a title="lxml.etree._Attrib.__getitem__
 lxml.etree._Element.__getitem__
 lxml.etree._IDDict.__getitem__
 lxml.etree._ListErrorLog.__getitem__
 lxml.html.FieldsDict.__getitem__
 lxml.html.InputGetter.__getitem__
-lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-2127', '__getitem__', 'link-722');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'only'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2128" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-2129', '__getitem__', 'link-733');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'only'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2130" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2128', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2129" class="py-name"><a title="lxml.etree._Attrib.__getitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2130', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2131" class="py-name"><a title="lxml.etree._Attrib.__getitem__
 lxml.etree._Element.__getitem__
 lxml.etree._IDDict.__getitem__
 lxml.etree._ListErrorLog.__getitem__
 lxml.html.FieldsDict.__getitem__
 lxml.html.InputGetter.__getitem__
-lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-2129', '__getitem__', 'link-722');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'names'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2130" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-2131', '__getitem__', 'link-733');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'names'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2132" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2130', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2131" class="py-name"><a title="lxml.etree._Attrib.__getitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2132', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2133" class="py-name"><a title="lxml.etree._Attrib.__getitem__
 lxml.etree._Element.__getitem__
 lxml.etree._IDDict.__getitem__
 lxml.etree._ListErrorLog.__getitem__
 lxml.html.FieldsDict.__getitem__
 lxml.html.InputGetter.__getitem__
-lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-2131', '__getitem__', 'link-722');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2132" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.objectify.ObjectifiedElement.__getitem__" class="py-name" href="#" onclick="return doclink('link-2133', '__getitem__', 'link-733');">__getitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2134" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2132', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2133" class="py-name"><a title="lxml.etree._Attrib.__setitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2134', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2135" class="py-name"><a title="lxml.etree._Attrib.__setitem__
 lxml.etree._Element.__setitem__
 lxml.html.FieldsDict.__setitem__
-lxml.objectify.ObjectifiedElement.__setitem__" class="py-name" href="#" onclick="return doclink('link-2133', '__setitem__', 'link-1661');">__setitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</tt><tt class="py-op">,</tt> <tt class="py-string">'yep'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2134" class="py-name"><a title="lxml.etree._Element.attrib
+lxml.objectify.ObjectifiedElement.__setitem__" class="py-name" href="#" onclick="return doclink('link-2135', '__setitem__', 'link-1663');">__setitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</tt><tt class="py-op">,</tt> <tt class="py-string">'yep'</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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">KeyError</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2136" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2134', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2135" class="py-name" targets="Method lxml.etree._Attrib.__delitem__()=lxml.etree._Attrib-class.html#__delitem__,Method lxml.etree._Element.__delitem__()=lxml.etree._Element-class.html#__delitem__,Method lxml.html.FieldsDict.__delitem__()=lxml.html.FieldsDict-class.html#__delitem__,Method lxml.objectify.ObjectifiedElement.__delitem__()=lxml.objectify.ObjectifiedElement-class.html#__delitem__"><a title="lxml.etree._Attrib.__delitem__
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2136', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">.</tt><tt id="link-2137" class="py-name" targets="Method lxml.etree._Attrib.__delitem__()=lxml.etree._Attrib-class.html#__delitem__,Method lxml.etree._Element.__delitem__()=lxml.etree._Element-class.html#__delitem__,Method lxml.html.FieldsDict.__delitem__()=lxml.html.FieldsDict-class.html#__delitem__,Method lxml.objectify.ObjectifiedElement.__delitem__()=lxml.objectify.ObjectifiedElement-class.html#__delitem__"><a title="lxml.etree._Attrib.__delitem__
 lxml.etree._Element.__delitem__
 lxml.html.FieldsDict.__delitem__
-lxml.objectify.ObjectifiedElement.__delitem__" class="py-name" href="#" onclick="return doclink('link-2135', '__delitem__', 'link-2135');">__delitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</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="L1823"></a><tt class="py-lineno">1823</tt>  <tt class="py-line">    <tt class="py-comment"># test passing 'None' to dump()</tt> </tt>
-<a name="ETreeOnlyTestCase.test_dump_none"></a><div id="ETreeOnlyTestCase.test_dump_none-def"><a name="L1824"></a><tt class="py-lineno">1824</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_dump_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_dump_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dump_none">test_dump_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="ETreeOnlyTestCase.test_dump_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_dump_none-expanded"><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">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2136" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectifiedElement.__delitem__" class="py-name" href="#" onclick="return doclink('link-2137', '__delitem__', 'link-2137');">__delitem__</a></tt><tt class="py-op">,</tt> <tt class="py-string">'nope'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1825"></a><tt class="py-lineno">1825</tt>  <tt class="py-line"> </tt>
+<a name="L1826"></a><tt class="py-lineno">1826</tt>  <tt class="py-line">    <tt class="py-comment"># test passing 'None' to dump()</tt> </tt>
+<a name="ETreeOnlyTestCase.test_dump_none"></a><div id="ETreeOnlyTestCase.test_dump_none-def"><a name="L1827"></a><tt class="py-lineno">1827</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_dump_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_dump_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dump_none">test_dump_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="ETreeOnlyTestCase.test_dump_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_dump_none-expanded"><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">assertRaises</tt><tt class="py-op">(</tt><tt class="py-name">TypeError</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2138" 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-2136', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2137" 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-2137', 'dump', 'link-2137');">dump</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</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="ETreeOnlyTestCase.test_prefix"></a><div id="ETreeOnlyTestCase.test_prefix-def"><a name="L1827"></a><tt class="py-lineno">1827</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_prefix-toggle" onclick="return toggle('ETreeOnlyTestCase.test_prefix');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix">test_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="ETreeOnlyTestCase.test_prefix-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_prefix-expanded"><a name="L1828"></a><tt class="py-lineno">1828</tt>  <tt class="py-line">        <tt id="link-2138" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2138', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2139" 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-2139', 'dump', 'link-2139');">dump</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</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="ETreeOnlyTestCase.test_prefix"></a><div id="ETreeOnlyTestCase.test_prefix-def"><a name="L1830"></a><tt class="py-lineno">1830</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_prefix-toggle" onclick="return toggle('ETreeOnlyTestCase.test_prefix');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix">test_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="ETreeOnlyTestCase.test_prefix-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_prefix-expanded"><a name="L1831"></a><tt class="py-lineno">1831</tt>  <tt class="py-line">        <tt id="link-2140" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2138', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2139" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2140', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2141" 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-2139', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2140" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2141', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2142" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2140', 'ElementTree', 'link-520');">ElementTree</a></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-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:foo="http://www.infrae.com/ns/1"&gt;&lt;foo:b/&gt;&lt;/a&gt;'</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">doc</tt> <tt class="py-op">=</tt> <tt id="link-2141" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2142', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">         </tt>
+<a name="L1833"></a><tt class="py-lineno">1833</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-string">'&lt;a xmlns:foo="http://www.infrae.com/ns/1"&gt;&lt;foo:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">        <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-2143" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2141', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L1832"></a><tt class="py-lineno">1832</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2142" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2142', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L1833"></a><tt class="py-lineno">1833</tt>  <tt class="py-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="L1834"></a><tt class="py-lineno">1834</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2143" class="py-name" targets="Variable lxml.etree._Element.prefix=lxml.etree._Element-class.html#prefix"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2143', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2143', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1835"></a><tt class="py-lineno">1835</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2144" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2144', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
 <a name="L1836"></a><tt class="py-lineno">1836</tt>  <tt class="py-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="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">            <tt class="py-string">'foo'</tt><tt class="py-op">,</tt> </tt>
-<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">            <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-2144" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2144', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_prefix_default_ns"></a><div id="ETreeOnlyTestCase.test_prefix_default_ns-def"><a name="L1840"></a><tt class="py-lineno">1840</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_prefix_default_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_prefix_default_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix_default_ns">test_prefix_default_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="ETreeOnlyTestCase.test_prefix_default_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_prefix_default_ns-expanded"><a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">        <tt id="link-2145" class="py-name"><a title="lxml.etree.ElementTree
+<a name="L1837"></a><tt class="py-lineno">1837</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1838"></a><tt class="py-lineno">1838</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2145" class="py-name" targets="Variable lxml.etree._Element.prefix=lxml.etree._Element-class.html#prefix"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2145', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1839"></a><tt class="py-lineno">1839</tt>  <tt class="py-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="L1840"></a><tt class="py-lineno">1840</tt>  <tt class="py-line">            <tt class="py-string">'foo'</tt><tt class="py-op">,</tt> </tt>
+<a name="L1841"></a><tt class="py-lineno">1841</tt>  <tt class="py-line">            <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-2146" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2146', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1842"></a><tt class="py-lineno">1842</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_prefix_default_ns"></a><div id="ETreeOnlyTestCase.test_prefix_default_ns-def"><a name="L1843"></a><tt class="py-lineno">1843</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_prefix_default_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_prefix_default_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_prefix_default_ns">test_prefix_default_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="ETreeOnlyTestCase.test_prefix_default_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_prefix_default_ns-expanded"><a name="L1844"></a><tt class="py-lineno">1844</tt>  <tt class="py-line">        <tt id="link-2147" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2145', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2146" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2147', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2148" 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-2146', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2147" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2148', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2149" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2147', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<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">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://www.infrae.com/ns/1"&gt;&lt;b/&gt;&lt;/a&gt;'</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">doc</tt> <tt class="py-op">=</tt> <tt id="link-2148" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2149', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<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-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://www.infrae.com/ns/1"&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">        <tt class="py-name">doc</tt> <tt class="py-op">=</tt> <tt id="link-2150" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2148', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L1845"></a><tt class="py-lineno">1845</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2149" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2149', 'getroot', 'link-752');">getroot</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1847"></a><tt class="py-lineno">1847</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2150" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2150', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2150', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">=</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L1848"></a><tt class="py-lineno">1848</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">doc</tt><tt class="py-op">.</tt><tt id="link-2151" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2151', 'getroot', 'link-763');">getroot</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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">None</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">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-2151" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2151', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1852"></a><tt class="py-lineno">1852</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getparent"></a><div id="ETreeOnlyTestCase.test_getparent-def"><a name="L1853"></a><tt class="py-lineno">1853</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getparent-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getparent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getparent">test_getparent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getparent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getparent-expanded"><a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">        <tt id="link-2152" class="py-name"><a title="lxml.etree.Element
+<a name="L1851"></a><tt class="py-lineno">1851</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2152" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2152', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</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 class="py-name">assertEqual</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">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L1854"></a><tt class="py-lineno">1854</tt>  <tt class="py-line">            <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-2153" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2153', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getparent"></a><div id="ETreeOnlyTestCase.test_getparent-def"><a name="L1856"></a><tt class="py-lineno">1856</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getparent-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getparent');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getparent">test_getparent</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getparent-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getparent-expanded"><a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">        <tt id="link-2154" 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-2152', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2153" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2154', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2155" 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-2153', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2154" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2155', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2156" 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-2154', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1855"></a><tt class="py-lineno">1855</tt>  <tt class="py-line">        <tt id="link-2155" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2155', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2156" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2156', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1858"></a><tt class="py-lineno">1858</tt>  <tt class="py-line">        <tt id="link-2157" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2157', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2158" 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-2156', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2157" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2157', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1856"></a><tt class="py-lineno">1856</tt>  <tt class="py-line"> </tt>
-<a name="L1857"></a><tt class="py-lineno">1857</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2158" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2158', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2159" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2159', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L1859"></a><tt class="py-lineno">1859</tt>  <tt class="py-line"> </tt>
+<a name="L1860"></a><tt class="py-lineno">1860</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2160" 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-2158', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2159" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2159', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2160" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2160', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2161" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2161', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
-<a name="L1862"></a><tt class="py-lineno">1862</tt>  <tt class="py-line">            <tt class="py-name">None</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">a</tt><tt class="py-op">.</tt><tt id="link-2162" 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-2162', 'getparent', 'link-2162');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2160', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2161" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2161', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2162" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2162', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2163" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2163', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
-<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">            <tt class="py-name">a</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">b</tt><tt class="py-op">.</tt><tt id="link-2163" class="py-name"><a title="lxml.etree._Element.getparent
+<a name="L1865"></a><tt class="py-lineno">1865</tt>  <tt class="py-line">            <tt class="py-name">None</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">a</tt><tt class="py-op">.</tt><tt id="link-2164" 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-2163', 'getparent', 'link-2162');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-2164', 'getparent', 'link-2164');">getparent</a></tt><tt class="py-op">(</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>
-<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2164" class="py-name"><a title="lxml.etree._Element.getparent
+<a name="L1868"></a><tt class="py-lineno">1868</tt>  <tt class="py-line">            <tt class="py-name">a</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">b</tt><tt class="py-op">.</tt><tt id="link-2165" 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-2164', 'getparent', 'link-2162');">getparent</a></tt><tt class="py-op">(</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">c</tt><tt class="py-op">.</tt><tt id="link-2165" 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-2165', 'getparent', 'link-2162');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-2165', 'getparent', 'link-2164');">getparent</a></tt><tt class="py-op">(</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>
-<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">            <tt class="py-name">b</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">d</tt><tt class="py-op">.</tt><tt id="link-2166" class="py-name"><a title="lxml.etree._Element.getparent
+<a name="L1871"></a><tt class="py-lineno">1871</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2166" 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-2166', 'getparent', 'link-2164');">getparent</a></tt><tt class="py-op">(</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">c</tt><tt class="py-op">.</tt><tt id="link-2167" 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-2166', 'getparent', 'link-2162');">getparent</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1873"></a><tt class="py-lineno">1873</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren"></a><div id="ETreeOnlyTestCase.test_iterchildren-def"><a name="L1874"></a><tt class="py-lineno">1874</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren">test_iterchildren</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterchildren-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren-expanded"><a name="L1875"></a><tt class="py-lineno">1875</tt>  <tt class="py-line">        <tt id="link-2167" class="py-name"><a title="lxml.etree.XML
+lxml.etree._ElementUnicodeResult.getparent" class="py-name" href="#" onclick="return doclink('link-2167', 'getparent', 'link-2164');">getparent</a></tt><tt class="py-op">(</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>
+<a name="L1874"></a><tt class="py-lineno">1874</tt>  <tt class="py-line">            <tt class="py-name">b</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">d</tt><tt class="py-op">.</tt><tt id="link-2168" 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-2168', 'getparent', 'link-2164');">getparent</a></tt><tt class="py-op">(</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="ETreeOnlyTestCase.test_iterchildren"></a><div id="ETreeOnlyTestCase.test_iterchildren-def"><a name="L1877"></a><tt class="py-lineno">1877</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren">test_iterchildren</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterchildren-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren-expanded"><a name="L1878"></a><tt class="py-lineno">1878</tt>  <tt class="py-line">        <tt id="link-2169" 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-2167', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2168" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2169', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2170" 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-2168', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2169" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2170', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2171" 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-2169', 'XML', 'link-212');">XML</a></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 id="link-2170" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2170', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2171" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2171', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L1879"></a><tt class="py-lineno">1879</tt>  <tt class="py-line">         </tt>
+<a name="L1880"></a><tt class="py-lineno">1880</tt>  <tt class="py-line">        <tt id="link-2172" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2172', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2173" 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-2171', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2172" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2172', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;three/&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2174" 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-2174', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</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">result</tt><tt class="py-op">.</tt><tt id="link-2175" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2175', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2176" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2173', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2174" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2174', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;three/&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</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">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1882"></a><tt class="py-lineno">1882</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-2175" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2175', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2176" 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-2176', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1883"></a><tt class="py-lineno">1883</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2177" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2177', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2178" 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-2176', 'tag', 'link-68');">tag</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">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">'one'</tt><tt class="py-op">,</tt> <tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1882"></a><tt class="py-lineno">1882</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_reversed"></a><div id="ETreeOnlyTestCase.test_iterchildren_reversed-def"><a name="L1883"></a><tt class="py-lineno">1883</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_reversed">test_iterchildren_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="ETreeOnlyTestCase.test_iterchildren_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_reversed-expanded"><a name="L1884"></a><tt class="py-lineno">1884</tt>  <tt class="py-line">        <tt id="link-2177" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2178', 'tag', 'link-68');">tag</a></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">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">'one'</tt><tt class="py-op">,</tt> <tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_reversed"></a><div id="ETreeOnlyTestCase.test_iterchildren_reversed-def"><a name="L1886"></a><tt class="py-lineno">1886</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_reversed">test_iterchildren_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="ETreeOnlyTestCase.test_iterchildren_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_reversed-expanded"><a name="L1887"></a><tt class="py-lineno">1887</tt>  <tt class="py-line">        <tt id="link-2179" 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-2177', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2178" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2179', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2180" 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-2178', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2179" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2180', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2181" 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-2179', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L1885"></a><tt class="py-lineno">1885</tt>  <tt class="py-line">         </tt>
-<a name="L1886"></a><tt class="py-lineno">1886</tt>  <tt class="py-line">        <tt id="link-2180" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2180', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2181" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2181', 'XML', 'link-212');">XML</a></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 id="link-2182" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2182', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2183" 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-2181', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2182" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2182', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;three/&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</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">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1888"></a><tt class="py-lineno">1888</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-2183" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2183', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2184" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2184', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2185" class="py-name" targets="Function lxml.tests.test_elementtree.reversed()=lxml.tests.test_elementtree-module.html#reversed"><a title="lxml.tests.test_elementtree.reversed" class="py-name" href="#" onclick="return doclink('link-2185', 'reversed', 'link-2185');">reversed</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="L1889"></a><tt class="py-lineno">1889</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2186" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2186', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2187" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2183', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2184" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2184', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;three/&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</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">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1891"></a><tt class="py-lineno">1891</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-2185" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2185', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2186" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2186', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2187" class="py-name" targets="Function lxml.tests.test_elementtree.reversed()=lxml.tests.test_elementtree-module.html#reversed"><a title="lxml.tests.test_elementtree.reversed" class="py-name" href="#" onclick="return doclink('link-2187', 'reversed', 'link-2187');">reversed</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="L1892"></a><tt class="py-lineno">1892</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2188" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2188', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2189" 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-2187', 'tag', 'link-68');">tag</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">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">'three'</tt><tt class="py-op">,</tt> <tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'one'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1891"></a><tt class="py-lineno">1891</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_tag"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag-def"><a name="L1892"></a><tt class="py-lineno">1892</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag">test_iterchildren_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterchildren_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag-expanded"><a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">        <tt id="link-2188" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2189', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1893"></a><tt class="py-lineno">1893</tt>  <tt class="py-line">        <tt 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">'three'</tt><tt class="py-op">,</tt> <tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'one'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1894"></a><tt class="py-lineno">1894</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_tag"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag-def"><a name="L1895"></a><tt class="py-lineno">1895</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag">test_iterchildren_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterchildren_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag-expanded"><a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line">        <tt id="link-2190" 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-2188', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2189" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2190', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2191" 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-2189', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2190" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2191', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2192" 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-2190', 'XML', 'link-212');">XML</a></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-2191" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2191', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2192" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2192', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L1897"></a><tt class="py-lineno">1897</tt>  <tt class="py-line">         </tt>
+<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">        <tt id="link-2193" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2193', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2194" 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-2192', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2193" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2193', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1896"></a><tt class="py-lineno">1896</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1897"></a><tt class="py-lineno">1897</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-2194" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2194', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2195" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2195', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2196" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2194', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2195" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2195', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;/doc&gt;'</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 class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1900"></a><tt class="py-lineno">1900</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-2196" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2196', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2197" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2197', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2198" 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-2196', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'two'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1898"></a><tt class="py-lineno">1898</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2197" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2197', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2198" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2198', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'two'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1901"></a><tt class="py-lineno">1901</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2199" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2199', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</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-2198', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1899"></a><tt class="py-lineno">1899</tt>  <tt class="py-line">        <tt 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">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1900"></a><tt class="py-lineno">1900</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_tag_posarg"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-def"><a name="L1901"></a><tt class="py-lineno">1901</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_posarg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_posarg">test_iterchildren_tag_posarg</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-expanded"><a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">        <tt id="link-2199" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2200', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1902"></a><tt class="py-lineno">1902</tt>  <tt class="py-line">        <tt 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">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_tag_posarg"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-def"><a name="L1904"></a><tt class="py-lineno">1904</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_posarg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_posarg">test_iterchildren_tag_posarg</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_posarg-expanded"><a name="L1905"></a><tt class="py-lineno">1905</tt>  <tt class="py-line">        <tt id="link-2201" 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-2199', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2200" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2201', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2202" 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-2200', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2201" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2202', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2203" 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-2201', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L1903"></a><tt class="py-lineno">1903</tt>  <tt class="py-line"> </tt>
-<a name="L1904"></a><tt class="py-lineno">1904</tt>  <tt class="py-line">        <tt id="link-2202" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2202', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2203" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2203', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L1906"></a><tt class="py-lineno">1906</tt>  <tt class="py-line"> </tt>
+<a name="L1907"></a><tt class="py-lineno">1907</tt>  <tt class="py-line">        <tt id="link-2204" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2204', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2205" 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-2203', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2204" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2204', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2205" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2205', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2206" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2206', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-string">'two'</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">result</tt><tt class="py-op">.</tt><tt id="link-2207" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2207', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2208" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2205', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2206" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2206', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2208" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2208', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-string">'two'</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">result</tt><tt class="py-op">.</tt><tt id="link-2209" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2209', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2210" 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-189');">text</a></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-op">[</tt><tt class="py-string">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1909"></a><tt class="py-lineno">1909</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_tag_reversed"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_reversed-def"><a name="L1910"></a><tt class="py-lineno">1910</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_reversed">test_iterchildren_tag_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="ETreeOnlyTestCase.test_iterchildren_tag_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_reversed-expanded"><a name="L1911"></a><tt class="py-lineno">1911</tt>  <tt class="py-line">        <tt id="link-2209" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2210', 'text', 'link-189');">text</a></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-op">[</tt><tt class="py-string">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_tag_reversed"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_reversed-def"><a name="L1913"></a><tt class="py-lineno">1913</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_reversed">test_iterchildren_tag_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="ETreeOnlyTestCase.test_iterchildren_tag_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_reversed-expanded"><a name="L1914"></a><tt class="py-lineno">1914</tt>  <tt class="py-line">        <tt id="link-2211" 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-2209', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2210" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2211', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2212" 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-2210', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2211" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2212', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2213" 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-2211', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L1912"></a><tt class="py-lineno">1912</tt>  <tt class="py-line">         </tt>
-<a name="L1913"></a><tt class="py-lineno">1913</tt>  <tt class="py-line">        <tt id="link-2212" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2212', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2213" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2213', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L1915"></a><tt class="py-lineno">1915</tt>  <tt class="py-line">         </tt>
+<a name="L1916"></a><tt class="py-lineno">1916</tt>  <tt class="py-line">        <tt id="link-2214" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2214', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2215" 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-2213', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2214" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2214', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2215" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2215', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2216" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2216', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2217" class="py-name"><a title="lxml.tests.test_elementtree.reversed" class="py-name" href="#" onclick="return doclink('link-2217', 'reversed', 'link-2185');">reversed</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2218" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2215', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2216" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2216', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2218" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2218', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2219" class="py-name"><a title="lxml.tests.test_elementtree.reversed" class="py-name" href="#" onclick="return doclink('link-2219', 'reversed', 'link-2187');">reversed</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2220" 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-2218', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'two'</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">result</tt><tt class="py-op">.</tt><tt id="link-2219" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2219', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2220" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2220', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'two'</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 class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2221" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2221', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</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-2220', 'text', 'link-189');">text</a></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-op">[</tt><tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-string">'Two'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1918"></a><tt class="py-lineno">1918</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_tag_multiple"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-def"><a name="L1919"></a><tt class="py-lineno">1919</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple">test_iterchildren_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-expanded"><a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">        <tt id="link-2221" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2222', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L1920"></a><tt class="py-lineno">1920</tt>  <tt class="py-line">        <tt 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">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-string">'Two'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_tag_multiple"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-def"><a name="L1922"></a><tt class="py-lineno">1922</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple">test_iterchildren_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple-expanded"><a name="L1923"></a><tt class="py-lineno">1923</tt>  <tt class="py-line">        <tt id="link-2223" 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-2221', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2222" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2223', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2224" 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-2222', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2223" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2224', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2225" 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-2223', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L1921"></a><tt class="py-lineno">1921</tt>  <tt class="py-line"> </tt>
-<a name="L1922"></a><tt class="py-lineno">1922</tt>  <tt class="py-line">        <tt id="link-2224" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2224', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2225" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2225', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L1924"></a><tt class="py-lineno">1924</tt>  <tt class="py-line"> </tt>
+<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">        <tt id="link-2226" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2226', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2227" 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-2225', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2226" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2226', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;three/&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L1924"></a><tt class="py-lineno">1924</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-2227" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2227', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2228" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2228', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2229" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2227', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2228" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2228', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;three/&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2229" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2229', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2230" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2230', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2231" 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-2229', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L1925"></a><tt class="py-lineno">1925</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">.</tt><tt id="link-2230" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2230', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2231" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2231', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</tt><tt class="py-op">]</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">result</tt><tt class="py-op">.</tt><tt id="link-2232" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2232', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2233" 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-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1926"></a><tt class="py-lineno">1926</tt>  <tt class="py-line">        <tt 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">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1927"></a><tt class="py-lineno">1927</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-def"><a name="L1928"></a><tt class="py-lineno">1928</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple_posarg">test_iterchildren_tag_multiple_posarg</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-expanded"><a name="L1929"></a><tt class="py-lineno">1929</tt>  <tt class="py-line">        <tt id="link-2232" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2233', 'text', 'link-189');">text</a></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 class="py-op">[</tt><tt class="py-string">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-def"><a name="L1931"></a><tt class="py-lineno">1931</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple_posarg">test_iterchildren_tag_multiple_posarg</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_posarg-expanded"><a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">        <tt id="link-2234" 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-2232', 'XML', 'link-212');">XML</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
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2234', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2235" 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-2233', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2234" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2235', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2236" 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-2234', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L1930"></a><tt class="py-lineno">1930</tt>  <tt class="py-line"> </tt>
-<a name="L1931"></a><tt class="py-lineno">1931</tt>  <tt class="py-line">        <tt id="link-2235" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2235', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2236" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2236', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L1933"></a><tt class="py-lineno">1933</tt>  <tt class="py-line"> </tt>
+<a name="L1934"></a><tt class="py-lineno">1934</tt>  <tt class="py-line">        <tt id="link-2237" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2237', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2238" 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-2236', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2237" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2237', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;three/&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L1932"></a><tt class="py-lineno">1932</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2239" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2239', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</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-name">result</tt><tt class="py-op">.</tt><tt id="link-2240" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2240', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2241" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2238', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2239" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2239', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;three/&gt;&lt;/doc&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1936"></a><tt class="py-lineno">1936</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-2240" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2240', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2241" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2241', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</tt><tt class="py-op">)</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">result</tt><tt class="py-op">.</tt><tt id="link-2242" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2242', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</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-2241', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L1935"></a><tt class="py-lineno">1935</tt>  <tt class="py-line">        <tt 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">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1936"></a><tt class="py-lineno">1936</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-def"><a name="L1937"></a><tt class="py-lineno">1937</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple_reversed">test_iterchildren_tag_multiple_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="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-expanded"><a name="L1938"></a><tt class="py-lineno">1938</tt>  <tt class="py-line">        <tt id="link-2242" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2243', 'text', 'link-189');">text</a></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">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">'Two'</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1939"></a><tt class="py-lineno">1939</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed"></a><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-def"><a name="L1940"></a><tt class="py-lineno">1940</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterchildren_tag_multiple_reversed">test_iterchildren_tag_multiple_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="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterchildren_tag_multiple_reversed-expanded"><a name="L1941"></a><tt class="py-lineno">1941</tt>  <tt class="py-line">        <tt id="link-2244" 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-2242', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2243" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2244', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2245" 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-2243', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2244" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2245', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2246" 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-2244', 'XML', 'link-212');">XML</a></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 id="link-2245" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2245', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2246" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2246', 'XML', 'link-212');">XML</a></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-2247" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2247', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2248" 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-2246', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2247" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2247', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;three/&gt;&lt;/doc&gt;'</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">result</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">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2249" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2249', 'iterchildren', 'link-2174');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2250" class="py-name"><a title="lxml.tests.test_elementtree.reversed" class="py-name" href="#" onclick="return doclink('link-2250', 'reversed', 'link-2185');">reversed</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2251" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2248', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2249" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2249', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;doc&gt;&lt;one/&gt;&lt;two&gt;Two&lt;/two&gt;Hm&lt;two&gt;Bla&lt;/two&gt;&lt;three/&gt;&lt;/doc&gt;'</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">result</tt> <tt class="py-op">=</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-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-2250" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2250', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2251" class="py-name"><a title="lxml.etree._Element.iterchildren" class="py-name" href="#" onclick="return doclink('link-2251', 'iterchildren', 'link-2176');">iterchildren</a></tt><tt class="py-op">(</tt><tt id="link-2252" class="py-name"><a title="lxml.tests.test_elementtree.reversed" class="py-name" href="#" onclick="return doclink('link-2252', 'reversed', 'link-2187');">reversed</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2253" 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-2251', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</tt><tt class="py-op">]</tt><tt class="py-op">)</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">result</tt><tt class="py-op">.</tt><tt id="link-2252" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2252', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2253" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2253', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'two'</tt><tt class="py-op">,</tt> <tt class="py-string">'three'</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">result</tt><tt class="py-op">.</tt><tt id="link-2254" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2254', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-2255" 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-189');">text</a></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-op">[</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-string">'Two'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1945"></a><tt class="py-lineno">1945</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterancestors"></a><div id="ETreeOnlyTestCase.test_iterancestors-def"><a name="L1946"></a><tt class="py-lineno">1946</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterancestors-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterancestors');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors">test_iterancestors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterancestors-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterancestors-expanded"><a name="L1947"></a><tt class="py-lineno">1947</tt>  <tt class="py-line">        <tt id="link-2254" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2255', 'text', 'link-189');">text</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">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-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'Bla'</tt><tt class="py-op">,</tt> <tt class="py-string">'Two'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterancestors"></a><div id="ETreeOnlyTestCase.test_iterancestors-def"><a name="L1949"></a><tt class="py-lineno">1949</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterancestors-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterancestors');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors">test_iterancestors</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterancestors-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterancestors-expanded"><a name="L1950"></a><tt class="py-lineno">1950</tt>  <tt class="py-line">        <tt id="link-2256" 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-2254', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2255" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2256', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2257" 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-2255', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2256" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2257', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2258" 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-2256', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1948"></a><tt class="py-lineno">1948</tt>  <tt class="py-line">        <tt id="link-2257" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2257', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2258" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2258', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1951"></a><tt class="py-lineno">1951</tt>  <tt class="py-line">        <tt id="link-2259" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2259', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2260" 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-2258', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2259" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2259', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<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-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2260" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2260', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2261" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2261', 'SubElement', 'link-107');">SubElement</a></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 class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2262" 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-2260', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2261" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2261', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2262" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2262', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2263" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2263', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2264" class="py-name" targets="Method lxml.etree._Element.iterancestors()=lxml.etree._Element-class.html#iterancestors"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2264', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2262', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2263" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2263', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1955"></a><tt class="py-lineno">1955</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2264" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2264', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1956"></a><tt class="py-lineno">1956</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2265" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2265', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1958"></a><tt class="py-lineno">1958</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</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">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2265" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2265', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</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-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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2266" class="py-name" targets="Method lxml.etree._Element.iterancestors()=lxml.etree._Element-class.html#iterancestors"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2266', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L1961"></a><tt class="py-lineno">1961</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2266" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2266', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2267" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2267', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</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 class="py-name">b</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="L1965"></a><tt class="py-lineno">1965</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2267" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2267', 'iterancestors', 'link-2264');">iterancestors</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="L1966"></a><tt class="py-lineno">1966</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterancestors_tag"></a><div id="ETreeOnlyTestCase.test_iterancestors_tag-def"><a name="L1967"></a><tt class="py-lineno">1967</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterancestors_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterancestors_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors_tag">test_iterancestors_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterancestors_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterancestors_tag-expanded"><a name="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">        <tt id="link-2268" class="py-name"><a title="lxml.etree.Element
+<a name="L1964"></a><tt class="py-lineno">1964</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2268" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2268', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1967"></a><tt class="py-lineno">1967</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L1968"></a><tt class="py-lineno">1968</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2269" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2269', 'iterancestors', 'link-2266');">iterancestors</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="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterancestors_tag"></a><div id="ETreeOnlyTestCase.test_iterancestors_tag-def"><a name="L1970"></a><tt class="py-lineno">1970</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterancestors_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterancestors_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors_tag">test_iterancestors_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterancestors_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterancestors_tag-expanded"><a name="L1971"></a><tt class="py-lineno">1971</tt>  <tt class="py-line">        <tt id="link-2270" 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-2268', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2269" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2270', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2271" 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-2269', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2270" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2271', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2272" 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-2270', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1969"></a><tt class="py-lineno">1969</tt>  <tt class="py-line">        <tt id="link-2271" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2271', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2272" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2272', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1972"></a><tt class="py-lineno">1972</tt>  <tt class="py-line">        <tt id="link-2273" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2273', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2274" 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-2272', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2273" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2273', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<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-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2274" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2274', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2275" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2275', 'SubElement', 'link-107');">SubElement</a></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-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2276" 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-2274', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2275" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2275', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1973"></a><tt class="py-lineno">1973</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2276" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2276', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1974"></a><tt class="py-lineno">1974</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2277" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2277', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-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="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2278" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2278', 'iterancestors', 'link-2264');">iterancestors</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>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2276', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1975"></a><tt class="py-lineno">1975</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2277" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2277', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1976"></a><tt class="py-lineno">1976</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2278" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2278', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1977"></a><tt class="py-lineno">1977</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2279" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2279', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L1979"></a><tt class="py-lineno">1979</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2279" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2279', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2280" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1980"></a><tt class="py-lineno">1980</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2280" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2280', 'iterancestors', 'link-2266');">iterancestors</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="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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">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">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2281" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2281', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2282" 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-2280', 'tag', 'link-68');">tag</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="L1981"></a><tt class="py-lineno">1981</tt>  <tt class="py-line"> </tt>
-<a name="L1982"></a><tt class="py-lineno">1982</tt>  <tt class="py-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="L1983"></a><tt class="py-lineno">1983</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2281" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2281', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2282', 'tag', 'link-68');">tag</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="L1984"></a><tt class="py-lineno">1984</tt>  <tt class="py-line"> </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">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L1986"></a><tt class="py-lineno">1986</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2282" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2282', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2283" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L1987"></a><tt class="py-lineno">1987</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2283" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2283', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</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>
+<a name="L1989"></a><tt class="py-lineno">1989</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2284" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2284', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2285" 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-2283', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L1988"></a><tt class="py-lineno">1988</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterancestors_tag_multiple"></a><div id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-def"><a name="L1989"></a><tt class="py-lineno">1989</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterancestors_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors_tag_multiple">test_iterancestors_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-expanded"><a name="L1990"></a><tt class="py-lineno">1990</tt>  <tt class="py-line">        <tt id="link-2284" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2285', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterancestors_tag_multiple"></a><div id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-def"><a name="L1992"></a><tt class="py-lineno">1992</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterancestors_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterancestors_tag_multiple">test_iterancestors_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterancestors_tag_multiple-expanded"><a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">        <tt id="link-2286" 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-2284', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2285" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2286', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2287" 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-2285', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2286" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2287', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2288" 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-2286', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L1991"></a><tt class="py-lineno">1991</tt>  <tt class="py-line">        <tt id="link-2287" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2287', 'SubElement', 'link-107');">SubElement</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2288', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">        <tt id="link-2289" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2289', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2290" 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-2288', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2289" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2289', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L1992"></a><tt class="py-lineno">1992</tt>  <tt class="py-line"> </tt>
-<a name="L1993"></a><tt class="py-lineno">1993</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2290" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2290', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2291" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2291', 'SubElement', 'link-107');">SubElement</a></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">a</tt> <tt class="py-op">=</tt> <tt id="link-2292" 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-2290', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1994"></a><tt class="py-lineno">1994</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2291" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2291', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L1995"></a><tt class="py-lineno">1995</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2292" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2292', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2293" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2293', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2294" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2294', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2295" 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-2295', 'tag', 'link-68');">tag</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 class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2292', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2293" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2293', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1998"></a><tt class="py-lineno">1998</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2294" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2294', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L1999"></a><tt class="py-lineno">1999</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2295" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2295', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
 <a name="L2001"></a><tt class="py-lineno">2001</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2296" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2296', 'iterancestors', 'link-2264');">iterancestors</a></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 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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">            <tt class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2297" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2297', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2298" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2002"></a><tt class="py-lineno">2002</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2296" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2296', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2297" 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-2298', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'w'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2297', 'tag', 'link-68');">tag</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 class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2003"></a><tt class="py-lineno">2003</tt>  <tt class="py-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="L2004"></a><tt class="py-lineno">2004</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L2005"></a><tt class="py-lineno">2005</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2298" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2298', 'iterancestors', 'link-2266');">iterancestors</a></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 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>
 <a name="L2008"></a><tt class="py-lineno">2008</tt>  <tt class="py-line">            <tt class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2299" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2299', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'w'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</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>
-<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-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="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">            <tt class="py-op">[</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-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2300" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2300', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2301" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2009"></a><tt class="py-lineno">2009</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2299" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2299', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2300" 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-2301', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'d'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2300', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'w'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</tt><tt class="py-op">)</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2011"></a><tt class="py-lineno">2011</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2012"></a><tt class="py-lineno">2012</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2301" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2301', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'w'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</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>
 <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>
 <a name="L2015"></a><tt class="py-lineno">2015</tt>  <tt class="py-line">            <tt class="py-op">[</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-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2302" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2302', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'d'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">)</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>
-<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-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="L2019"></a><tt class="py-lineno">2019</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2303" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2303', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2304" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2016"></a><tt class="py-lineno">2016</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2302" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2302', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2303" 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-2304', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2303', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'d'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">)</tt><tt class="py-op">)</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2018"></a><tt class="py-lineno">2018</tt>  <tt class="py-line">            <tt class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2304" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2304', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'d'</tt><tt class="py-op">,</tt> <tt class="py-string">'x'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2020"></a><tt class="py-lineno">2020</tt>  <tt class="py-line"> </tt>
 <a name="L2021"></a><tt class="py-lineno">2021</tt>  <tt class="py-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="L2022"></a><tt class="py-lineno">2022</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2305" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2305', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2027"></a><tt class="py-lineno">2027</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2306" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2306', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2307" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2023"></a><tt class="py-lineno">2023</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2305" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2305', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2306" 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-2307', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2306', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2025"></a><tt class="py-lineno">2025</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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="L2026"></a><tt class="py-lineno">2026</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2307" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2307', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L2029"></a><tt class="py-lineno">2029</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2308" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2308', 'iterancestors', 'link-2264');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2031"></a><tt class="py-lineno">2031</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterdescendants"></a><div id="ETreeOnlyTestCase.test_iterdescendants-def"><a name="L2032"></a><tt class="py-lineno">2032</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterdescendants-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterdescendants');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants">test_iterdescendants</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterdescendants-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterdescendants-expanded"><a name="L2033"></a><tt class="py-lineno">2033</tt>  <tt class="py-line">        <tt id="link-2309" class="py-name"><a title="lxml.etree.Element
+<a name="L2030"></a><tt class="py-lineno">2030</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2308" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2308', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt id="link-2309" 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-2309', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2032"></a><tt class="py-lineno">2032</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2310" class="py-name"><a title="lxml.etree._Element.iterancestors" class="py-name" href="#" onclick="return doclink('link-2310', 'iterancestors', 'link-2266');">iterancestors</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterdescendants"></a><div id="ETreeOnlyTestCase.test_iterdescendants-def"><a name="L2035"></a><tt class="py-lineno">2035</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterdescendants-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterdescendants');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants">test_iterdescendants</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterdescendants-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterdescendants-expanded"><a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line">        <tt id="link-2311" 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-2309', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2310" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2311', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2312" 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-2310', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2311" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2312', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2313" 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-2311', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2034"></a><tt class="py-lineno">2034</tt>  <tt class="py-line">        <tt id="link-2312" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2312', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2313" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2313', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">        <tt id="link-2314" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2314', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2315" 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-2313', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2314" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2314', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2035"></a><tt class="py-lineno">2035</tt>  <tt class="py-line"> </tt>
-<a name="L2036"></a><tt class="py-lineno">2036</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2315" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2315', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2316" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2316', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line"> </tt>
+<a name="L2039"></a><tt class="py-lineno">2039</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2317" 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-2315', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2037"></a><tt class="py-lineno">2037</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2316" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2316', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2038"></a><tt class="py-lineno">2038</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2317" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2317', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2318" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2318', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2319" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2319', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2041"></a><tt class="py-lineno">2041</tt>  <tt class="py-line"> </tt>
-<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-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="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2320" class="py-name" targets="Method lxml.etree._Element.iterdescendants()=lxml.etree._Element-class.html#iterdescendants"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2320', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2317', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2040"></a><tt class="py-lineno">2040</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2318" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2318', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2319" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2319', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2042"></a><tt class="py-lineno">2042</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2320" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2320', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2043"></a><tt class="py-lineno">2043</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2321" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2321', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2044"></a><tt class="py-lineno">2044</tt>  <tt class="py-line"> </tt>
 <a name="L2045"></a><tt class="py-lineno">2045</tt>  <tt class="py-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="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2321" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2321', 'iterdescendants', 'link-2320');">iterdescendants</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="L2048"></a><tt class="py-lineno">2048</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterdescendants_tag"></a><div id="ETreeOnlyTestCase.test_iterdescendants_tag-def"><a name="L2049"></a><tt class="py-lineno">2049</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterdescendants_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterdescendants_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag">test_iterdescendants_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterdescendants_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterdescendants_tag-expanded"><a name="L2050"></a><tt class="py-lineno">2050</tt>  <tt class="py-line">        <tt id="link-2322" class="py-name"><a title="lxml.etree.Element
+<a name="L2046"></a><tt class="py-lineno">2046</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2047"></a><tt class="py-lineno">2047</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2322" class="py-name" targets="Method lxml.etree._Element.iterdescendants()=lxml.etree._Element-class.html#iterdescendants"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2322', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2049"></a><tt class="py-lineno">2049</tt>  <tt class="py-line">            <tt class="py-op">[</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">d</tt><tt class="py-op">.</tt><tt id="link-2323" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2323', 'iterdescendants', 'link-2322');">iterdescendants</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="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterdescendants_tag"></a><div id="ETreeOnlyTestCase.test_iterdescendants_tag-def"><a name="L2052"></a><tt class="py-lineno">2052</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterdescendants_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterdescendants_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag">test_iterdescendants_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterdescendants_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterdescendants_tag-expanded"><a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">        <tt id="link-2324" 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-2322', 'Element', 'link-64');">Element</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2324', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2325" 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-2323', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2324" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2325', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2326" 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-2324', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2051"></a><tt class="py-lineno">2051</tt>  <tt class="py-line">        <tt id="link-2325" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2325', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2326" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2326', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">        <tt id="link-2327" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2327', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2328" 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-2326', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2327" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2327', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2052"></a><tt class="py-lineno">2052</tt>  <tt class="py-line"> </tt>
-<a name="L2053"></a><tt class="py-lineno">2053</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2328" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2328', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2329" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2329', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line"> </tt>
+<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2330" 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-2328', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2054"></a><tt class="py-lineno">2054</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2329" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2329', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2055"></a><tt class="py-lineno">2055</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2330" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2330', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2056"></a><tt class="py-lineno">2056</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2331" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2331', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2332" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2332', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2058"></a><tt class="py-lineno">2058</tt>  <tt class="py-line"> </tt>
-<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-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="L2060"></a><tt class="py-lineno">2060</tt>  <tt class="py-line">            <tt class="py-op">[</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2333" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2333', 'iterdescendants', 'link-2320');">iterdescendants</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>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2330', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2331" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2331', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2332" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2332', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2059"></a><tt class="py-lineno">2059</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2333" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2333', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2334" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2334', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2061"></a><tt class="py-lineno">2061</tt>  <tt class="py-line"> </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">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L2063"></a><tt class="py-lineno">2063</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2334" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2334', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2335" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2064"></a><tt class="py-lineno">2064</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2335" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2335', 'iterdescendants', 'link-2322');">iterdescendants</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="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-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="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">            <tt class="py-op">[</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2336" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2336', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2337" 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-2335', 'tag', 'link-68');">tag</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="L2065"></a><tt class="py-lineno">2065</tt>  <tt class="py-line"> </tt>
-<a name="L2066"></a><tt class="py-lineno">2066</tt>  <tt class="py-line">        <tt class="py-name">a2</tt> <tt class="py-op">=</tt> <tt id="link-2336" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2336', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2067"></a><tt class="py-lineno">2067</tt>  <tt class="py-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="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a2</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2337" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2337', 'iterdescendants', 'link-2320');">iterdescendants</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="L2070"></a><tt class="py-lineno">2070</tt>  <tt class="py-line"> </tt>
-<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-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="L2072"></a><tt class="py-lineno">2072</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a2</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2338" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2338', 'iterdescendants', 'link-2320');">iterdescendants</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>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2337', 'tag', 'link-68');">tag</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="L2068"></a><tt class="py-lineno">2068</tt>  <tt class="py-line"> </tt>
+<a name="L2069"></a><tt class="py-lineno">2069</tt>  <tt class="py-line">        <tt class="py-name">a2</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-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2071"></a><tt class="py-lineno">2071</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a2</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2339" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2339', 'iterdescendants', 'link-2322');">iterdescendants</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="L2073"></a><tt class="py-lineno">2073</tt>  <tt class="py-line"> </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>
 <a name="L2075"></a><tt class="py-lineno">2075</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a2</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2339" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2339', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2340" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2076"></a><tt class="py-lineno">2076</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2340" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2340', 'iterdescendants', 'link-2322');">iterdescendants</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="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-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="L2078"></a><tt class="py-lineno">2078</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a2</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2341" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2341', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2342" 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-2340', 'tag', 'link-68');">tag</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>
-</div><a name="L2077"></a><tt class="py-lineno">2077</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_iterdescendants_tag_multiple"></a><div id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-def"><a name="L2078"></a><tt class="py-lineno">2078</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterdescendants_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag_multiple">test_iterdescendants_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-expanded"><a name="L2079"></a><tt class="py-lineno">2079</tt>  <tt class="py-line">        <tt id="link-2341" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2342', 'tag', 'link-68');">tag</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>
+</div><a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_iterdescendants_tag_multiple"></a><div id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-def"><a name="L2081"></a><tt class="py-lineno">2081</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_iterdescendants_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_iterdescendants_tag_multiple">test_iterdescendants_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_iterdescendants_tag_multiple-expanded"><a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">        <tt id="link-2343" 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-2341', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2342" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2343', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2344" 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-2342', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2343" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2344', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2345" 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-64');">Element</a></tt> </tt>
-<a name="L2080"></a><tt class="py-lineno">2080</tt>  <tt class="py-line">        <tt id="link-2344" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2344', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2345" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2345', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2083"></a><tt class="py-lineno">2083</tt>  <tt class="py-line">        <tt id="link-2346" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2346', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2347" 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-2345', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2346" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2346', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2081"></a><tt class="py-lineno">2081</tt>  <tt class="py-line"> </tt>
-<a name="L2082"></a><tt class="py-lineno">2082</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2347" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2347', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2348" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2348', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2084"></a><tt class="py-lineno">2084</tt>  <tt class="py-line"> </tt>
+<a name="L2085"></a><tt class="py-lineno">2085</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2349" 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-2347', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2348" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2348', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2349" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2349', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2350" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2350', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2351" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2351', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line"> </tt>
-<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-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="L2089"></a><tt class="py-lineno">2089</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2352" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2352', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2353" 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-2353', 'tag', 'link-68');">tag</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-string">'e'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2349', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2086"></a><tt class="py-lineno">2086</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2350" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2350', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2087"></a><tt class="py-lineno">2087</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2351" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2351', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2088"></a><tt class="py-lineno">2088</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2352" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2352', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2353" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2353', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2090"></a><tt class="py-lineno">2090</tt>  <tt class="py-line"> </tt>
 <a name="L2091"></a><tt class="py-lineno">2091</tt>  <tt class="py-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="L2092"></a><tt class="py-lineno">2092</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2354" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2354', 'iterdescendants', 'link-2320');">iterdescendants</a></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-string">'e'</tt><tt class="py-op">)</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>
-<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line">        <tt class="py-name">a2</tt> <tt class="py-op">=</tt> <tt id="link-2355" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2355', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">a2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">            <tt class="py-name">list</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._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2356', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2357" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2093"></a><tt class="py-lineno">2093</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2354" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2354', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2355" 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-2357', 'tag', 'link-68');">tag</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 class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2355', 'tag', 'link-68');">tag</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-string">'e'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
+<a name="L2095"></a><tt class="py-lineno">2095</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2096"></a><tt class="py-lineno">2096</tt>  <tt class="py-line">            <tt class="py-name">list</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._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2356', 'iterdescendants', 'link-2322');">iterdescendants</a></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-string">'e'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2097"></a><tt class="py-lineno">2097</tt>  <tt class="py-line"> </tt>
+<a name="L2098"></a><tt class="py-lineno">2098</tt>  <tt class="py-line">        <tt class="py-name">a2</tt> <tt class="py-op">=</tt> <tt id="link-2357" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2357', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a'</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>
 <a name="L2100"></a><tt class="py-lineno">2100</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">a2</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2358" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2358', 'iterdescendants', 'link-2320');">iterdescendants</a></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 class="py-op">)</tt> </tt>
-<a name="L2102"></a><tt class="py-lineno">2102</tt>  <tt class="py-line"> </tt>
-<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-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="L2104"></a><tt class="py-lineno">2104</tt>  <tt class="py-line">            <tt class="py-op">[</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2359" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2359', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2360" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2101"></a><tt class="py-lineno">2101</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2358" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2358', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2359" 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-2360', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2359', 'tag', 'link-68');">tag</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 class="py-op">)</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>
+<a name="L2103"></a><tt class="py-lineno">2103</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">a2</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2360" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2360', 'iterdescendants', 'link-2322');">iterdescendants</a></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 class="py-op">)</tt> </tt>
+<a name="L2105"></a><tt class="py-lineno">2105</tt>  <tt class="py-line"> </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">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L2107"></a><tt class="py-lineno">2107</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2361" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2361', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</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>
-<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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2111"></a><tt class="py-lineno">2111</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">a2</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2362" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2362', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2363" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2108"></a><tt class="py-lineno">2108</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2361" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2361', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2362" 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-2363', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2362', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2110"></a><tt class="py-lineno">2110</tt>  <tt class="py-line">            <tt class="py-op">[</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2363" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2363', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
 <a name="L2114"></a><tt class="py-lineno">2114</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">a2</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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2364" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2364', 'iterdescendants', 'link-2320');">iterdescendants</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2116"></a><tt class="py-lineno">2116</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getroottree"></a><div id="ETreeOnlyTestCase.test_getroottree-def"><a name="L2117"></a><tt class="py-lineno">2117</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getroottree-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getroottree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getroottree">test_getroottree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getroottree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getroottree-expanded"><a name="L2118"></a><tt class="py-lineno">2118</tt>  <tt class="py-line">        <tt id="link-2365" class="py-name"><a title="lxml.etree.Element
+<a name="L2115"></a><tt class="py-lineno">2115</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2364" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2364', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt id="link-2365" 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-2365', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2117"></a><tt class="py-lineno">2117</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">a2</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2366" class="py-name"><a title="lxml.etree._Element.iterdescendants" class="py-name" href="#" onclick="return doclink('link-2366', 'iterdescendants', 'link-2322');">iterdescendants</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</tt><tt class="py-op">)</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="ETreeOnlyTestCase.test_getroottree"></a><div id="ETreeOnlyTestCase.test_getroottree-def"><a name="L2120"></a><tt class="py-lineno">2120</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getroottree-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getroottree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getroottree">test_getroottree</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getroottree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getroottree-expanded"><a name="L2121"></a><tt class="py-lineno">2121</tt>  <tt class="py-line">        <tt id="link-2367" 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-2365', 'Element', 'link-64');">Element</a></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
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2367', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2368" 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-2366', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2367" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2368', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2369" 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-2367', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2119"></a><tt class="py-lineno">2119</tt>  <tt class="py-line">        <tt id="link-2368" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2368', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2369" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2369', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2122"></a><tt class="py-lineno">2122</tt>  <tt class="py-line">        <tt id="link-2370" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2370', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2371" 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-2369', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2370" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2370', 'SubElement', 'link-107');">SubElement</a></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 class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2371" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2371', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2372" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2372', 'SubElement', 'link-107');">SubElement</a></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 class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2373" 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-2371', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2372" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2372', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2373" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2373', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2124"></a><tt class="py-lineno">2124</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2374" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2374', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
-<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">,</tt> </tt>
-<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2375" 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-2375', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2376" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2376', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2373', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2374" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2374', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2126"></a><tt class="py-lineno">2126</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2375" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2375', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2127"></a><tt class="py-lineno">2127</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2376" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2376', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
 <a name="L2129"></a><tt class="py-lineno">2129</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">,</tt> </tt>
-<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2377" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2377', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2378" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2378', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2130"></a><tt class="py-lineno">2130</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2377" 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-2377', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2378" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2378', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</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>
 <a name="L2132"></a><tt class="py-lineno">2132</tt>  <tt class="py-line">            <tt class="py-name">a</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">d</tt><tt class="py-op">.</tt><tt id="link-2379" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2379', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2380" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2380', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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="ETreeOnlyTestCase.test_getnext"></a><div id="ETreeOnlyTestCase.test_getnext-def"><a name="L2135"></a><tt class="py-lineno">2135</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getnext-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getnext');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getnext">test_getnext</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getnext-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getnext-expanded"><a name="L2136"></a><tt class="py-lineno">2136</tt>  <tt class="py-line">        <tt id="link-2381" class="py-name"><a title="lxml.etree.Element
+<a name="L2133"></a><tt class="py-lineno">2133</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2379" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2379', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2380" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2380', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2135"></a><tt class="py-lineno">2135</tt>  <tt class="py-line">            <tt class="py-name">a</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">d</tt><tt class="py-op">.</tt><tt id="link-2381" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-2381', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2382" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2382', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getnext"></a><div id="ETreeOnlyTestCase.test_getnext-def"><a name="L2138"></a><tt class="py-lineno">2138</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getnext-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getnext');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getnext">test_getnext</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getnext-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getnext-expanded"><a name="L2139"></a><tt class="py-lineno">2139</tt>  <tt class="py-line">        <tt id="link-2383" 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-2381', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2382" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2383', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2384" 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-2382', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2383" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2384', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2385" 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-2383', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2137"></a><tt class="py-lineno">2137</tt>  <tt class="py-line">        <tt id="link-2384" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2384', 'SubElement', 'link-107');">SubElement</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.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2385', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2140"></a><tt class="py-lineno">2140</tt>  <tt class="py-line">        <tt id="link-2386" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2386', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2387" 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-2385', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2386" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2386', 'SubElement', 'link-107');">SubElement</a></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">a</tt> <tt class="py-op">=</tt> <tt id="link-2387" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2387', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2388" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2388', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2141"></a><tt class="py-lineno">2141</tt>  <tt class="py-line"> </tt>
+<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2389" 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-2387', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2388" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2388', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2389" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2389', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2142"></a><tt class="py-lineno">2142</tt>  <tt class="py-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="L2143"></a><tt class="py-lineno">2143</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2390" class="py-name" targets="Method lxml.etree._Element.getnext()=lxml.etree._Element-class.html#getnext"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-2390', 'getnext', 'link-2390');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2389', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2390" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2390', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2144"></a><tt class="py-lineno">2144</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2391" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2391', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
 <a name="L2145"></a><tt class="py-lineno">2145</tt>  <tt class="py-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="L2146"></a><tt class="py-lineno">2146</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">,</tt> </tt>
-<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2391" class="py-name"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-2391', 'getnext', 'link-2390');">getnext</a></tt><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">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L2147"></a><tt class="py-lineno">2147</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2392" class="py-name" targets="Method lxml.etree._Element.getnext()=lxml.etree._Element-class.html#getnext"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-2392', 'getnext', 'link-2392');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2148"></a><tt class="py-lineno">2148</tt>  <tt class="py-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="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2392" class="py-name"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-2392', 'getnext', 'link-2390');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getprevious"></a><div id="ETreeOnlyTestCase.test_getprevious-def"><a name="L2152"></a><tt class="py-lineno">2152</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getprevious-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getprevious');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getprevious">test_getprevious</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getprevious-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getprevious-expanded"><a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">        <tt id="link-2393" class="py-name"><a title="lxml.etree.Element
+<a name="L2149"></a><tt class="py-lineno">2149</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">,</tt> </tt>
+<a name="L2150"></a><tt class="py-lineno">2150</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2393" class="py-name"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-2393', 'getnext', 'link-2392');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2151"></a><tt class="py-lineno">2151</tt>  <tt class="py-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="L2152"></a><tt class="py-lineno">2152</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L2153"></a><tt class="py-lineno">2153</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2394" class="py-name"><a title="lxml.etree._Element.getnext" class="py-name" href="#" onclick="return doclink('link-2394', 'getnext', 'link-2392');">getnext</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getprevious"></a><div id="ETreeOnlyTestCase.test_getprevious-def"><a name="L2155"></a><tt class="py-lineno">2155</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getprevious-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getprevious');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getprevious">test_getprevious</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getprevious-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getprevious-expanded"><a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">        <tt id="link-2395" 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-2393', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2394" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2395', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2396" 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-2394', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2395" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2396', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2397" 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-2395', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2154"></a><tt class="py-lineno">2154</tt>  <tt class="py-line">        <tt id="link-2396" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2396', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2397" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2397', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">        <tt id="link-2398" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2398', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2399" 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-2397', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2398" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2398', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2155"></a><tt class="py-lineno">2155</tt>  <tt class="py-line"> </tt>
-<a name="L2156"></a><tt class="py-lineno">2156</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2399" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2399', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2400" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2400', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2158"></a><tt class="py-lineno">2158</tt>  <tt class="py-line"> </tt>
+<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">        <tt class="py-name">a</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-2399', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2157"></a><tt class="py-lineno">2157</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2400" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2400', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2401" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2401', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2159"></a><tt class="py-lineno">2159</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2402" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2402', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-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="L2161"></a><tt class="py-lineno">2161</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2403" 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-2403', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2401', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2160"></a><tt class="py-lineno">2160</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2402" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2402', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2403" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2403', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2162"></a><tt class="py-lineno">2162</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2404" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2404', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
-<a name="L2164"></a><tt class="py-lineno">2164</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">,</tt> </tt>
-<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2404" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-2404', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L2165"></a><tt class="py-lineno">2165</tt>  <tt class="py-line">            <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2405" 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-2405', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</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>
-<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2405" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-2405', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2169"></a><tt class="py-lineno">2169</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_itersiblings"></a><div id="ETreeOnlyTestCase.test_itersiblings-def"><a name="L2170"></a><tt class="py-lineno">2170</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_itersiblings-toggle" onclick="return toggle('ETreeOnlyTestCase.test_itersiblings');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings">test_itersiblings</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_itersiblings-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_itersiblings-expanded"><a name="L2171"></a><tt class="py-lineno">2171</tt>  <tt class="py-line">        <tt id="link-2406" class="py-name"><a title="lxml.etree.Element
+<a name="L2167"></a><tt class="py-lineno">2167</tt>  <tt class="py-line">            <tt class="py-name">b</tt><tt class="py-op">,</tt> </tt>
+<a name="L2168"></a><tt class="py-lineno">2168</tt>  <tt class="py-line">            <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2406" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-2406', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</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>
+<a name="L2170"></a><tt class="py-lineno">2170</tt>  <tt class="py-line">            <tt class="py-name">None</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">b</tt><tt class="py-op">.</tt><tt id="link-2407" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-2407', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_itersiblings"></a><div id="ETreeOnlyTestCase.test_itersiblings-def"><a name="L2173"></a><tt class="py-lineno">2173</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_itersiblings-toggle" onclick="return toggle('ETreeOnlyTestCase.test_itersiblings');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings">test_itersiblings</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_itersiblings-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_itersiblings-expanded"><a name="L2174"></a><tt class="py-lineno">2174</tt>  <tt class="py-line">        <tt id="link-2408" 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-2406', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2407" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2408', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2409" 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-2407', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2408" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2409', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2410" 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-2408', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2172"></a><tt class="py-lineno">2172</tt>  <tt class="py-line">        <tt id="link-2409" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2409', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2410" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2410', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2175"></a><tt class="py-lineno">2175</tt>  <tt class="py-line">        <tt id="link-2411" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2411', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2412" 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-2410', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2411" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2411', 'SubElement', 'link-107');">SubElement</a></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 class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2412" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2412', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2413" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2413', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line"> </tt>
+<a name="L2177"></a><tt class="py-lineno">2177</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2414" 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-2412', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2413" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2413', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2176"></a><tt class="py-lineno">2176</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2414" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2414', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2415" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2415', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2416" class="py-name" targets="Method lxml.etree._Element.itersiblings()=lxml.etree._Element-class.html#itersiblings"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2416', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2414', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2178"></a><tt class="py-lineno">2178</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2415" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2415', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2179"></a><tt class="py-lineno">2179</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2416" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2416', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2417" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2417', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
 <a name="L2181"></a><tt class="py-lineno">2181</tt>  <tt class="py-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="L2182"></a><tt class="py-lineno">2182</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</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">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2417" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2417', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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 class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2418" class="py-name" targets="Method lxml.etree._Element.itersiblings()=lxml.etree._Element-class.html#itersiblings"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2418', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2184"></a><tt class="py-lineno">2184</tt>  <tt class="py-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="L2185"></a><tt class="py-lineno">2185</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2418" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2418', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-op">[</tt><tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2186"></a><tt class="py-lineno">2186</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2419" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2419', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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>
-<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2419" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2419', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2188"></a><tt class="py-lineno">2188</tt>  <tt class="py-line">            <tt class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2420" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2420', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><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">assertEqual</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-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2420" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2420', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2193"></a><tt class="py-lineno">2193</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_itersiblings_tag"></a><div id="ETreeOnlyTestCase.test_itersiblings_tag-def"><a name="L2194"></a><tt class="py-lineno">2194</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_itersiblings_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_itersiblings_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings_tag">test_itersiblings_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_itersiblings_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_itersiblings_tag-expanded"><a name="L2195"></a><tt class="py-lineno">2195</tt>  <tt class="py-line">        <tt id="link-2421" class="py-name"><a title="lxml.etree.Element
+<a name="L2191"></a><tt class="py-lineno">2191</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2192"></a><tt class="py-lineno">2192</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2421" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2421', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</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>
+<a name="L2194"></a><tt class="py-lineno">2194</tt>  <tt class="py-line">            <tt class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2422" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2422', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_itersiblings_tag"></a><div id="ETreeOnlyTestCase.test_itersiblings_tag-def"><a name="L2197"></a><tt class="py-lineno">2197</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_itersiblings_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_itersiblings_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings_tag">test_itersiblings_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_itersiblings_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_itersiblings_tag-expanded"><a name="L2198"></a><tt class="py-lineno">2198</tt>  <tt class="py-line">        <tt id="link-2423" 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-2421', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2422" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2423', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2424" 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-2422', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2423" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2424', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2425" 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-2423', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2196"></a><tt class="py-lineno">2196</tt>  <tt class="py-line">        <tt id="link-2424" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2424', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2425" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2425', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2199"></a><tt class="py-lineno">2199</tt>  <tt class="py-line">        <tt id="link-2426" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2426', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2427" 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-2425', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2426" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2426', 'SubElement', 'link-107');">SubElement</a></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 class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2427" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2427', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2428" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2428', 'SubElement', 'link-107');">SubElement</a></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 class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2429" 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-2427', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2428" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2428', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2200"></a><tt class="py-lineno">2200</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2429" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2429', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2430" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2430', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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>
-<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2431" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2431', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2432" 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-2432', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'XXX'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2429', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">b</tt> <tt class="py-op">=</tt> <tt id="link-2430" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2430', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2203"></a><tt class="py-lineno">2203</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2431" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2431', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2204"></a><tt class="py-lineno">2204</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2432" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2432', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2433" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2433', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2434" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2206"></a><tt class="py-lineno">2206</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2207"></a><tt class="py-lineno">2207</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2433" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2433', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2434" 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-2434', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2434', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'XXX'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
 <a name="L2209"></a><tt class="py-lineno">2209</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2435" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2435', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2436" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2210"></a><tt class="py-lineno">2210</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2435" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2435', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2436" 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-2436', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2436', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2211"></a><tt class="py-lineno">2211</tt>  <tt class="py-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="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2437" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2437', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2438" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2212"></a><tt class="py-lineno">2212</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2437" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2437', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2438" 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-2438', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2438', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
-<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2439" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2439', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2440" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2215"></a><tt class="py-lineno">2215</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2216"></a><tt class="py-lineno">2216</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2439" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2439', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2440" 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-2440', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
+<a name="L2218"></a><tt class="py-lineno">2218</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2441" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2441', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2442" 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-2440', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2217"></a><tt class="py-lineno">2217</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_itersiblings_tag_multiple"></a><div id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-def"><a name="L2218"></a><tt class="py-lineno">2218</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_itersiblings_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings_tag_multiple">test_itersiblings_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-expanded"><a name="L2219"></a><tt class="py-lineno">2219</tt>  <tt class="py-line">        <tt id="link-2441" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2442', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_itersiblings_tag_multiple"></a><div id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-def"><a name="L2221"></a><tt class="py-lineno">2221</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_itersiblings_tag_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_itersiblings_tag_multiple">test_itersiblings_tag_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_itersiblings_tag_multiple-expanded"><a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">        <tt id="link-2443" 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-2441', 'Element', 'link-64');">Element</a></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
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2443', 'Element', 'link-64');">Element</a></tt>    <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2444" 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-2442', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2443" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2444', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2445" 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-2443', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2220"></a><tt class="py-lineno">2220</tt>  <tt class="py-line">        <tt id="link-2444" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2444', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2445" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2445', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2223"></a><tt class="py-lineno">2223</tt>  <tt class="py-line">        <tt id="link-2446" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2446', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2447" 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-2445', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2446" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2446', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2221"></a><tt class="py-lineno">2221</tt>  <tt class="py-line"> </tt>
-<a name="L2222"></a><tt class="py-lineno">2222</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2447" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2447', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2448" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2448', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2224"></a><tt class="py-lineno">2224</tt>  <tt class="py-line"> </tt>
+<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2449" 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-2447', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">b</tt> <tt class="py-op">=</tt> <tt id="link-2448" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2448', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2449" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2449', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2225"></a><tt class="py-lineno">2225</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2450" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2450', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2451" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2451', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</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>
-<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">            <tt class="py-op">[</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">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2452" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2452', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2453" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2449', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2226"></a><tt class="py-lineno">2226</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2450" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2450', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2451" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2451', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2228"></a><tt class="py-lineno">2228</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2452" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2452', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2453" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2453', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-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="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2454" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2454', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2455" 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-2453', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'XXX'</tt><tt class="py-op">,</tt> <tt class="py-string">'YYY'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2230"></a><tt class="py-lineno">2230</tt>  <tt class="py-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="L2231"></a><tt class="py-lineno">2231</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2232"></a><tt class="py-lineno">2232</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2454" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2454', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2455" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2455', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'XXX'</tt><tt class="py-op">,</tt> <tt class="py-string">'YYY'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
+<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</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">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2456" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2456', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt id="link-2457" 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-2455', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
-<a name="L2234"></a><tt class="py-lineno">2234</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</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">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2456" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2456', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2457" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2457', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
+<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2458" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2458', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2459" 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-2457', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
-<a name="L2237"></a><tt class="py-lineno">2237</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2238"></a><tt class="py-lineno">2238</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2458" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2458', 'itersiblings', 'link-2416');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2459" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2459', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt><tt class="py-op">)</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>
+<a name="L2240"></a><tt class="py-lineno">2240</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">]</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">list</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2460" class="py-name"><a title="lxml.etree._Element.itersiblings" class="py-name" href="#" onclick="return doclink('link-2460', 'itersiblings', 'link-2418');">itersiblings</a></tt><tt class="py-op">(</tt><tt class="py-name">preceding</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-2461" 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-2459', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</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="L2239"></a><tt class="py-lineno">2239</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_parseid"></a><div id="ETreeOnlyTestCase.test_parseid-def"><a name="L2240"></a><tt class="py-lineno">2240</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parseid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parseid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parseid">test_parseid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_parseid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parseid-expanded"><a name="L2241"></a><tt class="py-lineno">2241</tt>  <tt class="py-line">        <tt id="link-2460" class="py-name" targets="Function lxml.etree.parseid()=lxml.etree-module.html#parseid"><a title="lxml.etree.parseid" class="py-name" href="#" onclick="return doclink('link-2460', 'parseid', 'link-2460');">parseid</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2461" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2461', 'tag', 'link-68');">tag</a></tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</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="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_parseid"></a><div id="ETreeOnlyTestCase.test_parseid-def"><a name="L2243"></a><tt class="py-lineno">2243</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parseid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parseid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parseid">test_parseid</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_parseid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parseid-expanded"><a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line">        <tt id="link-2462" class="py-name" targets="Function lxml.etree.parseid()=lxml.etree-module.html#parseid"><a title="lxml.etree.parseid" class="py-name" href="#" onclick="return doclink('link-2462', 'parseid', 'link-2462');">parseid</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2463" 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-2461', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2462" class="py-name"><a title="lxml.etree.parseid" class="py-name" href="#" onclick="return doclink('link-2462', 'parseid', 'link-2460');">parseid</a></tt> </tt>
-<a name="L2242"></a><tt class="py-lineno">2242</tt>  <tt class="py-line">        <tt id="link-2463" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2463', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2464" class="py-name"><a title="lxml.etree.parseid" class="py-name" href="#" onclick="return doclink('link-2464', 'parseid', 'link-2462');">parseid</a></tt> </tt>
+<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line">        <tt id="link-2465" 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-2463', 'XML', 'link-212');">XML</a></tt>     <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2464" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2465', 'XML', 'link-212');">XML</a></tt>     <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2466" 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-2464', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2465" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2466', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2467" 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-2465', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2243"></a><tt class="py-lineno">2243</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2466" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2466', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L2244"></a><tt class="py-lineno">2244</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE document [</tt> </tt>
-<a name="L2245"></a><tt class="py-lineno">2245</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT document (h1,p)*&gt;</tt> </tt>
-<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT h1 (#PCDATA)&gt;</tt> </tt>
-<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST h1 myid ID #REQUIRED&gt;</tt> </tt>
-<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT p  (#PCDATA)&gt;</tt> </tt>
-<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST p  someid ID #REQUIRED&gt;</tt> </tt>
-<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
-<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
-<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
-<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line"><tt class="py-string">          &lt;p xml:id="xmlid"&gt;XML:ID paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
-<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line"> </tt>
-<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2467" class="py-name"><a title="lxml.etree.parseid" class="py-name" href="#" onclick="return doclink('link-2467', 'parseid', 'link-2460');">parseid</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2261"></a><tt class="py-lineno">2261</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2469" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2469', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-2470" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2467', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2246"></a><tt class="py-lineno">2246</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2468" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2468', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L2247"></a><tt class="py-lineno">2247</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE document [</tt> </tt>
+<a name="L2248"></a><tt class="py-lineno">2248</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT document (h1,p)*&gt;</tt> </tt>
+<a name="L2249"></a><tt class="py-lineno">2249</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT h1 (#PCDATA)&gt;</tt> </tt>
+<a name="L2250"></a><tt class="py-lineno">2250</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST h1 myid ID #REQUIRED&gt;</tt> </tt>
+<a name="L2251"></a><tt class="py-lineno">2251</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT p  (#PCDATA)&gt;</tt> </tt>
+<a name="L2252"></a><tt class="py-lineno">2252</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST p  someid ID #REQUIRED&gt;</tt> </tt>
+<a name="L2253"></a><tt class="py-lineno">2253</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
+<a name="L2254"></a><tt class="py-lineno">2254</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
+<a name="L2255"></a><tt class="py-lineno">2255</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
+<a name="L2256"></a><tt class="py-lineno">2256</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2257"></a><tt class="py-lineno">2257</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2258"></a><tt class="py-lineno">2258</tt>  <tt class="py-line"><tt class="py-string">          &lt;p xml:id="xmlid"&gt;XML:ID paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2259"></a><tt class="py-lineno">2259</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2260"></a><tt class="py-lineno">2260</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
+<a name="L2261"></a><tt class="py-lineno">2261</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2262"></a><tt class="py-lineno">2262</tt>  <tt class="py-line"> </tt>
+<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2469" class="py-name"><a title="lxml.etree.parseid" class="py-name" href="#" onclick="return doclink('link-2469', 'parseid', 'link-2462');">parseid</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2264"></a><tt class="py-lineno">2264</tt>  <tt class="py-line">        <tt id="link-2470" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2470', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2471" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2471', 'getroot', 'link-763');">getroot</a></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">root2</tt> <tt class="py-op">=</tt> <tt id="link-2472" 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-2470', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt> </tt>
-<a name="L2263"></a><tt class="py-lineno">2263</tt>  <tt class="py-line">        <tt 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-2471" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2471', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2472" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2472', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </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 id="link-2473" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2473', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</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">expected</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-string">"chapter1"</tt> <tt class="py-op">:</tt> <tt id="link-2474" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2474', 'root', 'link-215');">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="L2267"></a><tt class="py-lineno">2267</tt>  <tt class="py-line">            <tt class="py-string">"xmlid"</tt>    <tt class="py-op">:</tt> <tt id="link-2475" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2475', 'root', 'link-215');">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>
-<a name="L2268"></a><tt class="py-lineno">2268</tt>  <tt class="py-line">            <tt class="py-string">"warn1"</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-215');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> </tt>
-<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">            <tt class="py-op">}</tt> </tt>
-<a name="L2270"></a><tt class="py-lineno">2270</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">"chapter1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
-<a name="L2271"></a><tt class="py-lineno">2271</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">"warn1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
-<a name="L2272"></a><tt class="py-lineno">2272</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">"xmlid"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</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 id="link-2477" class="py-name" targets="Method lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict()=lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_checkIDDict"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2477', '_checkIDDict', 'link-2477');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2274"></a><tt class="py-lineno">2274</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_XMLDTDID"></a><div id="ETreeOnlyTestCase.test_XMLDTDID-def"><a name="L2275"></a><tt class="py-lineno">2275</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XMLDTDID-toggle" onclick="return toggle('ETreeOnlyTestCase.test_XMLDTDID');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID">test_XMLDTDID</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_XMLDTDID-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XMLDTDID-expanded"><a name="L2276"></a><tt class="py-lineno">2276</tt>  <tt class="py-line">        <tt id="link-2478" class="py-name" targets="Function lxml.etree.XMLDTDID()=lxml.etree-module.html#XMLDTDID"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2478', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2479" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2472', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</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-name">self</tt><tt class="py-op">.</tt><tt id="link-2473" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2473', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2474" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2474', 'root', 'link-215');">root</a></tt><tt class="py-op">)</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 id="link-2475" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2475', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</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">expected</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
+<a name="L2269"></a><tt class="py-lineno">2269</tt>  <tt class="py-line">            <tt class="py-string">"chapter1"</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-215');">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="L2270"></a><tt class="py-lineno">2270</tt>  <tt class="py-line">            <tt class="py-string">"xmlid"</tt>    <tt class="py-op">:</tt> <tt id="link-2477" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2477', 'root', 'link-215');">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>
+<a name="L2271"></a><tt class="py-lineno">2271</tt>  <tt class="py-line">            <tt class="py-string">"warn1"</tt>    <tt class="py-op">:</tt> <tt id="link-2478" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2478', 'root', 'link-215');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> </tt>
+<a name="L2272"></a><tt class="py-lineno">2272</tt>  <tt class="py-line">            <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">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"chapter1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</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">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"warn1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
+<a name="L2275"></a><tt class="py-lineno">2275</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">"xmlid"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</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 id="link-2479" class="py-name" targets="Method lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict()=lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_checkIDDict"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2479', '_checkIDDict', 'link-2479');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_XMLDTDID"></a><div id="ETreeOnlyTestCase.test_XMLDTDID-def"><a name="L2278"></a><tt class="py-lineno">2278</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XMLDTDID-toggle" onclick="return toggle('ETreeOnlyTestCase.test_XMLDTDID');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID">test_XMLDTDID</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_XMLDTDID-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XMLDTDID-expanded"><a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line">        <tt id="link-2480" class="py-name" targets="Function lxml.etree.XMLDTDID()=lxml.etree-module.html#XMLDTDID"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2480', 'XMLDTDID', 'link-2480');">XMLDTDID</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
 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-2479', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2480" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2480', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt> </tt>
-<a name="L2277"></a><tt class="py-lineno">2277</tt>  <tt class="py-line">        <tt id="link-2481" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2481', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2482" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2482', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt> </tt>
+<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line">        <tt id="link-2483" 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-212');">XML</a></tt>      <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2482" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2483', 'XML', 'link-212');">XML</a></tt>      <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2484" 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-2482', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2483" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2484', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2485" 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-2483', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2278"></a><tt class="py-lineno">2278</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2484" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2484', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L2279"></a><tt class="py-lineno">2279</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE document [</tt> </tt>
-<a name="L2280"></a><tt class="py-lineno">2280</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT document (h1,p)*&gt;</tt> </tt>
-<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT h1 (#PCDATA)&gt;</tt> </tt>
-<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST h1 myid ID #REQUIRED&gt;</tt> </tt>
-<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT p  (#PCDATA)&gt;</tt> </tt>
-<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST p  someid ID #REQUIRED&gt;</tt> </tt>
-<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
-<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
-<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
-<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line"><tt class="py-string">          &lt;p xml:id="xmlid"&gt;XML:ID paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
-<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line"> </tt>
-<a name="L2295"></a><tt class="py-lineno">2295</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-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2486" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2486', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt> </tt>
-<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-2487" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2485', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2281"></a><tt class="py-lineno">2281</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2486" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2486', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L2282"></a><tt class="py-lineno">2282</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE document [</tt> </tt>
+<a name="L2283"></a><tt class="py-lineno">2283</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT document (h1,p)*&gt;</tt> </tt>
+<a name="L2284"></a><tt class="py-lineno">2284</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT h1 (#PCDATA)&gt;</tt> </tt>
+<a name="L2285"></a><tt class="py-lineno">2285</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST h1 myid ID #REQUIRED&gt;</tt> </tt>
+<a name="L2286"></a><tt class="py-lineno">2286</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT p  (#PCDATA)&gt;</tt> </tt>
+<a name="L2287"></a><tt class="py-lineno">2287</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST p  someid ID #REQUIRED&gt;</tt> </tt>
+<a name="L2288"></a><tt class="py-lineno">2288</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
+<a name="L2289"></a><tt class="py-lineno">2289</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
+<a name="L2290"></a><tt class="py-lineno">2290</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
+<a name="L2291"></a><tt class="py-lineno">2291</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2292"></a><tt class="py-lineno">2292</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2293"></a><tt class="py-lineno">2293</tt>  <tt class="py-line"><tt class="py-string">          &lt;p xml:id="xmlid"&gt;XML:ID paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2294"></a><tt class="py-lineno">2294</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2295"></a><tt class="py-lineno">2295</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
+<a name="L2296"></a><tt class="py-lineno">2296</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2297"></a><tt class="py-lineno">2297</tt>  <tt class="py-line"> </tt>
+<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">        <tt id="link-2487" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2487', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2488" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2488', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</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">root2</tt> <tt class="py-op">=</tt> <tt id="link-2489" 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-2487', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2488" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2488', '_writeElement', 'link-317');">_writeElement</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2298"></a><tt class="py-lineno">2298</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2490" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2490', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</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">expected</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt> </tt>
-<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">            <tt class="py-string">"chapter1"</tt> <tt class="py-op">:</tt> <tt id="link-2491" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2491', 'root', 'link-215');">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="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">            <tt class="py-string">"xmlid"</tt>    <tt class="py-op">:</tt> <tt id="link-2492" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2492', 'root', 'link-215');">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>
-<a name="L2302"></a><tt class="py-lineno">2302</tt>  <tt class="py-line">            <tt class="py-string">"warn1"</tt>    <tt class="py-op">:</tt> <tt id="link-2493" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2493', 'root', 'link-215');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> </tt>
-<a name="L2303"></a><tt class="py-lineno">2303</tt>  <tt class="py-line">            <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">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"chapter1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
-<a name="L2305"></a><tt class="py-lineno">2305</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">"warn1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
-<a name="L2306"></a><tt class="py-lineno">2306</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">"xmlid"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
-<a name="L2307"></a><tt class="py-lineno">2307</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2494" class="py-name"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2494', '_checkIDDict', 'link-2477');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2308"></a><tt class="py-lineno">2308</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_XMLDTDID_empty"></a><div id="ETreeOnlyTestCase.test_XMLDTDID_empty-def"><a name="L2309"></a><tt class="py-lineno">2309</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XMLDTDID_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_XMLDTDID_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID_empty">test_XMLDTDID_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="ETreeOnlyTestCase.test_XMLDTDID_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XMLDTDID_empty-expanded"><a name="L2310"></a><tt class="py-lineno">2310</tt>  <tt class="py-line">        <tt id="link-2495" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2495', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2496" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2489', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt> </tt>
+<a name="L2300"></a><tt class="py-lineno">2300</tt>  <tt class="py-line">        <tt 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-2490" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2490', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2491" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2491', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2301"></a><tt class="py-lineno">2301</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2492" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2492', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</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">expected</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-string">"chapter1"</tt> <tt class="py-op">:</tt> <tt id="link-2493" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2493', 'root', 'link-215');">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="L2304"></a><tt class="py-lineno">2304</tt>  <tt class="py-line">            <tt class="py-string">"xmlid"</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-215');">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>
+<a name="L2305"></a><tt class="py-lineno">2305</tt>  <tt class="py-line">            <tt class="py-string">"warn1"</tt>    <tt class="py-op">:</tt> <tt id="link-2495" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2495', 'root', 'link-215');">root</a></tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt> </tt>
+<a name="L2306"></a><tt class="py-lineno">2306</tt>  <tt class="py-line">            <tt class="py-op">}</tt> </tt>
+<a name="L2307"></a><tt class="py-lineno">2307</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">"chapter1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</tt><tt class="py-op">)</tt> </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">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"warn1"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</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">assertTrue</tt><tt class="py-op">(</tt><tt class="py-string">"xmlid"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dic</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 id="link-2496" class="py-name"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2496', '_checkIDDict', 'link-2479');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_XMLDTDID_empty"></a><div id="ETreeOnlyTestCase.test_XMLDTDID_empty-def"><a name="L2312"></a><tt class="py-lineno">2312</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XMLDTDID_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_XMLDTDID_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID_empty">test_XMLDTDID_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="ETreeOnlyTestCase.test_XMLDTDID_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XMLDTDID_empty-expanded"><a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line">        <tt id="link-2497" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2497', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2498" 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-2496', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2497" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2497', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt> </tt>
-<a name="L2311"></a><tt class="py-lineno">2311</tt>  <tt class="py-line">        <tt id="link-2498" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2498', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2499" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2499', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt> </tt>
+<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line">        <tt id="link-2500" 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-2498', 'XML', 'link-212');">XML</a></tt>      <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2499" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2500', 'XML', 'link-212');">XML</a></tt>      <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2501" 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-2499', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2500" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2501', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2502" 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-2500', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2312"></a><tt class="py-lineno">2312</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2501" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2501', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L2313"></a><tt class="py-lineno">2313</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
-<a name="L2314"></a><tt class="py-lineno">2314</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
-<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
-<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line"> </tt>
-<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line">        <tt id="link-2502" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2502', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2503" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2503', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt> </tt>
-<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-2504" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2502', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2315"></a><tt class="py-lineno">2315</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2503" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2503', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L2316"></a><tt class="py-lineno">2316</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
+<a name="L2317"></a><tt class="py-lineno">2317</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
+<a name="L2318"></a><tt class="py-lineno">2318</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2319"></a><tt class="py-lineno">2319</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2320"></a><tt class="py-lineno">2320</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2321"></a><tt class="py-lineno">2321</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
+<a name="L2322"></a><tt class="py-lineno">2322</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2323"></a><tt class="py-lineno">2323</tt>  <tt class="py-line"> </tt>
+<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">        <tt id="link-2504" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2504', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2505" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2505', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt> </tt>
+<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-2506" 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-2504', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2505" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2505', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2506" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2506', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2324"></a><tt class="py-lineno">2324</tt>  <tt class="py-line">                          <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2507" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2507', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2325"></a><tt class="py-lineno">2325</tt>  <tt class="py-line">        <tt class="py-name">expected</tt> <tt class="py-op">=</tt> <tt class="py-op">{</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">self</tt><tt class="py-op">.</tt><tt id="link-2508" class="py-name"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2508', '_checkIDDict', 'link-2477');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2327"></a><tt class="py-lineno">2327</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict"></a><div id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-def"><a name="L2328"></a><tt class="py-lineno">2328</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-toggle" onclick="return toggle('ETreeOnlyTestCase.test_XMLDTDID_no_id_dict');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID_no_id_dict">test_XMLDTDID_no_id_dict</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-expanded"><a name="L2329"></a><tt class="py-lineno">2329</tt>  <tt class="py-line">        <tt id="link-2509" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2509', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2510" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2506', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</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">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-2507" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2507', '_writeElement', 'link-328');">_writeElement</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-215');">root</a></tt><tt class="py-op">)</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 id="link-2509" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2509', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</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 class="py-name">expected</tt> <tt class="py-op">=</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2510" class="py-name"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2510', '_checkIDDict', 'link-2479');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">,</tt> <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict"></a><div id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-def"><a name="L2331"></a><tt class="py-lineno">2331</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-toggle" onclick="return toggle('ETreeOnlyTestCase.test_XMLDTDID_no_id_dict');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_XMLDTDID_no_id_dict">test_XMLDTDID_no_id_dict</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XMLDTDID_no_id_dict-expanded"><a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line">        <tt id="link-2511" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2511', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2512" 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-2510', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2511" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2511', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt> </tt>
-<a name="L2330"></a><tt class="py-lineno">2330</tt>  <tt class="py-line">        <tt id="link-2512" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2512', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2513" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2513', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt> </tt>
+<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line">        <tt id="link-2514" 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-2512', 'XML', 'link-212');">XML</a></tt>      <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2513" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2514', 'XML', 'link-212');">XML</a></tt>      <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2515" 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-2513', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2514" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2515', 'etree', 'link-10');">etree</a></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-2514', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2331"></a><tt class="py-lineno">2331</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2515" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2515', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L2332"></a><tt class="py-lineno">2332</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE document [</tt> </tt>
-<a name="L2333"></a><tt class="py-lineno">2333</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT document (h1,p)*&gt;</tt> </tt>
-<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT h1 (#PCDATA)&gt;</tt> </tt>
-<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST h1 myid ID #REQUIRED&gt;</tt> </tt>
-<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT p  (#PCDATA)&gt;</tt> </tt>
-<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST p  someid ID #REQUIRED&gt;</tt> </tt>
-<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
-<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
-<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
-<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line"><tt class="py-string">          &lt;p xml:id="xmlid"&gt;XML:ID paragraph.&lt;/p&gt;</tt> </tt>
-<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
-<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
-<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line"> </tt>
-<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line">        <tt id="link-2516" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-2516', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-2517" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2516', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2334"></a><tt class="py-lineno">2334</tt>  <tt class="py-line">        <tt class="py-name">xml_text</tt> <tt class="py-op">=</tt> <tt id="link-2517" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2517', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L2335"></a><tt class="py-lineno">2335</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE document [</tt> </tt>
+<a name="L2336"></a><tt class="py-lineno">2336</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT document (h1,p)*&gt;</tt> </tt>
+<a name="L2337"></a><tt class="py-lineno">2337</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT h1 (#PCDATA)&gt;</tt> </tt>
+<a name="L2338"></a><tt class="py-lineno">2338</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST h1 myid ID #REQUIRED&gt;</tt> </tt>
+<a name="L2339"></a><tt class="py-lineno">2339</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ELEMENT p  (#PCDATA)&gt;</tt> </tt>
+<a name="L2340"></a><tt class="py-lineno">2340</tt>  <tt class="py-line"><tt class="py-string">        &lt;!ATTLIST p  someid ID #REQUIRED&gt;</tt> </tt>
+<a name="L2341"></a><tt class="py-lineno">2341</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
+<a name="L2342"></a><tt class="py-lineno">2342</tt>  <tt class="py-line"><tt class="py-string">        &lt;document&gt;</tt> </tt>
+<a name="L2343"></a><tt class="py-lineno">2343</tt>  <tt class="py-line"><tt class="py-string">          &lt;h1 myid="chapter1"&gt;...&lt;/h1&gt;</tt> </tt>
+<a name="L2344"></a><tt class="py-lineno">2344</tt>  <tt class="py-line"><tt class="py-string">          &lt;p id="note1" class="note"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2345"></a><tt class="py-lineno">2345</tt>  <tt class="py-line"><tt class="py-string">          &lt;p&gt;Regular paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2346"></a><tt class="py-lineno">2346</tt>  <tt class="py-line"><tt class="py-string">          &lt;p xml:id="xmlid"&gt;XML:ID paragraph.&lt;/p&gt;</tt> </tt>
+<a name="L2347"></a><tt class="py-lineno">2347</tt>  <tt class="py-line"><tt class="py-string">          &lt;p someid="warn1" class="warning"&gt;...&lt;/p&gt;</tt> </tt>
+<a name="L2348"></a><tt class="py-lineno">2348</tt>  <tt class="py-line"><tt class="py-string">        &lt;/document&gt;</tt> </tt>
+<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line"> </tt>
+<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">        <tt id="link-2518" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-2518', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-2519" 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-2517', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2518" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2519', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2520" 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-2518', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">collect_ids</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L2349"></a><tt class="py-lineno">2349</tt>  <tt class="py-line">        <tt id="link-2519" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2519', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2520" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2520', 'XMLDTDID', 'link-2478');">XMLDTDID</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">,</tt> <tt id="link-2521" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-2521', 'parser', 'link-800');">parser</a></tt><tt class="py-op">=</tt><tt id="link-2522" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-2522', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2350"></a><tt class="py-lineno">2350</tt>  <tt class="py-line">        <tt class="py-name">root2</tt> <tt class="py-op">=</tt> <tt id="link-2523" 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-2523', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">)</tt> </tt>
-<a name="L2351"></a><tt class="py-lineno">2351</tt>  <tt class="py-line">        <tt 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-2524" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2524', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2525" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2525', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">                         <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2526" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2526', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</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 id="link-2527" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2527', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</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 id="link-2528" class="py-name"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2528', '_checkIDDict', 'link-2477');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</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="L2355"></a><tt class="py-lineno">2355</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase._checkIDDict"></a><div id="ETreeOnlyTestCase._checkIDDict-def"><a name="L2356"></a><tt class="py-lineno">2356</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase._checkIDDict-toggle" onclick="return toggle('ETreeOnlyTestCase._checkIDDict');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_checkIDDict">_checkIDDict</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dic</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase._checkIDDict-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase._checkIDDict-expanded"><a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">        <tt 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 class="py-name">dic</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line">                          <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">expected</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 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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2529" class="py-name"><a title="lxml.etree._Attrib.items
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-2520', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">collect_ids</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L2352"></a><tt class="py-lineno">2352</tt>  <tt class="py-line">        <tt id="link-2521" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2521', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">dic</tt> <tt class="py-op">=</tt> <tt id="link-2522" class="py-name"><a title="lxml.etree.XMLDTDID" class="py-name" href="#" onclick="return doclink('link-2522', 'XMLDTDID', 'link-2480');">XMLDTDID</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</tt><tt class="py-op">,</tt> <tt id="link-2523" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-2523', 'parser', 'link-800');">parser</a></tt><tt class="py-op">=</tt><tt id="link-2524" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-2524', 'parser', 'link-800');">parser</a></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">root2</tt> <tt class="py-op">=</tt> <tt id="link-2525" 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-2525', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_text</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2526" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2526', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt id="link-2527" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2527', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2355"></a><tt class="py-lineno">2355</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_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2528', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">root2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2356"></a><tt class="py-lineno">2356</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2529" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-2529', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">)</tt> </tt>
+<a name="L2357"></a><tt class="py-lineno">2357</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2530" class="py-name"><a title="lxml.tests.test_etree.ETreeOnlyTestCase._checkIDDict" class="py-name" href="#" onclick="return doclink('link-2530', '_checkIDDict', 'link-2479');">_checkIDDict</a></tt><tt class="py-op">(</tt><tt class="py-name">dic</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="L2358"></a><tt class="py-lineno">2358</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase._checkIDDict"></a><div id="ETreeOnlyTestCase._checkIDDict-def"><a name="L2359"></a><tt class="py-lineno">2359</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase._checkIDDict-toggle" onclick="return toggle('ETreeOnlyTestCase._checkIDDict');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_checkIDDict">_checkIDDict</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">dic</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase._checkIDDict-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase._checkIDDict-expanded"><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-name">len</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">)</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">len</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">)</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-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2531" 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-2529', 'items', 'link-261');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2530" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-2531', 'items', 'link-272');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">                          <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2532" 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-2530', 'items', 'link-261');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2361"></a><tt class="py-lineno">2361</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">&lt;</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>
-<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-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2531" class="py-name"><a title="lxml.etree._Attrib.iteritems
-lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-2531', 'iteritems', 'link-2119');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2363"></a><tt class="py-lineno">2363</tt>  <tt class="py-line">                              <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2532" class="py-name"><a title="lxml.etree._Attrib.iteritems
-lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-2532', 'iteritems', 'link-2119');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2364"></a><tt class="py-lineno">2364</tt>  <tt class="py-line">        <tt 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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2533" class="py-name"><a title="lxml.etree._Attrib.keys
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-2532', 'items', 'link-272');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2364"></a><tt class="py-lineno">2364</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">&lt;</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>
+<a name="L2365"></a><tt class="py-lineno">2365</tt>  <tt class="py-line">            <tt 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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2533" class="py-name"><a title="lxml.etree._Attrib.iteritems
+lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-2533', 'iteritems', 'link-2121');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2534" class="py-name"><a title="lxml.etree._Attrib.iteritems
+lxml.etree._IDDict.iteritems" class="py-name" href="#" onclick="return doclink('link-2534', 'iteritems', 'link-2121');">iteritems</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2535" 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-2533', 'keys', 'link-259');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2534" class="py-name"><a title="lxml.etree._Attrib.keys
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-2535', 'keys', 'link-270');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">                          <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2536" 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-2534', 'keys', 'link-259');">keys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-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">&lt;</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>
-<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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2535" class="py-name"><a title="lxml.etree._Attrib.iterkeys
-lxml.etree._IDDict.iterkeys" class="py-name" href="#" onclick="return doclink('link-2535', 'iterkeys', 'link-2117');">iterkeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2368"></a><tt class="py-lineno">2368</tt>  <tt class="py-line">                              <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2536" class="py-name"><a title="lxml.etree._Attrib.iterkeys
-lxml.etree._IDDict.iterkeys" class="py-name" href="#" onclick="return doclink('link-2536', 'iterkeys', 'link-2117');">iterkeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+lxml.html.InputGetter.keys" class="py-name" href="#" onclick="return doclink('link-2536', 'keys', 'link-270');">keys</a></tt><tt class="py-op">(</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-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">&lt;</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>
-<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">            <tt 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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2537" class="py-name"><a title="lxml.etree._Attrib.values
+<a name="L2370"></a><tt class="py-lineno">2370</tt>  <tt class="py-line">            <tt 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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2537" class="py-name"><a title="lxml.etree._Attrib.iterkeys
+lxml.etree._IDDict.iterkeys" class="py-name" href="#" onclick="return doclink('link-2537', 'iterkeys', 'link-2119');">iterkeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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 class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2538" class="py-name"><a title="lxml.etree._Attrib.iterkeys
+lxml.etree._IDDict.iterkeys" class="py-name" href="#" onclick="return doclink('link-2538', 'iterkeys', 'link-2119');">iterkeys</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2372"></a><tt class="py-lineno">2372</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">&lt;</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>
+<a name="L2373"></a><tt class="py-lineno">2373</tt>  <tt class="py-line">            <tt 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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2539" 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-2537', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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 class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2538" class="py-name"><a title="lxml.etree._Attrib.values
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2539', 'values', 'link-271');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line">                              <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2540" 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-2538', 'values', 'link-260');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </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-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2539" class="py-name"><a title="lxml.etree._Attrib.itervalues
-lxml.etree._IDDict.itervalues" class="py-name" href="#" onclick="return doclink('link-2539', 'itervalues', 'link-2121');">itervalues</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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 class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2540" class="py-name"><a title="lxml.etree._Attrib.itervalues
-lxml.etree._IDDict.itervalues" class="py-name" href="#" onclick="return doclink('link-2540', 'itervalues', 'link-2121');">itervalues</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="L2374"></a><tt class="py-lineno">2374</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_namespaces"></a><div id="ETreeOnlyTestCase.test_namespaces-def"><a name="L2375"></a><tt class="py-lineno">2375</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces">test_namespaces</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_namespaces-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces-expanded"><a name="L2376"></a><tt class="py-lineno">2376</tt>  <tt class="py-line">        <tt id="link-2541" class="py-name"><a title="lxml.etree
+lxml.etree._IDDict.values" class="py-name" href="#" onclick="return doclink('link-2540', 'values', 'link-271');">values</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">dic</tt><tt class="py-op">.</tt><tt id="link-2541" class="py-name"><a title="lxml.etree._Attrib.itervalues
+lxml.etree._IDDict.itervalues" class="py-name" href="#" onclick="return doclink('link-2541', 'itervalues', 'link-2123');">itervalues</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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">sorted</tt><tt class="py-op">(</tt><tt class="py-name">expected</tt><tt class="py-op">.</tt><tt id="link-2542" class="py-name"><a title="lxml.etree._Attrib.itervalues
+lxml.etree._IDDict.itervalues" class="py-name" href="#" onclick="return doclink('link-2542', 'itervalues', 'link-2123');">itervalues</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="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_namespaces"></a><div id="ETreeOnlyTestCase.test_namespaces-def"><a name="L2378"></a><tt class="py-lineno">2378</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces">test_namespaces</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_namespaces-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces-expanded"><a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">        <tt id="link-2543" 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-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2542" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2543', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><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-2542', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2377"></a><tt class="py-lineno">2377</tt>  <tt class="py-line"> </tt>
-<a name="L2378"></a><tt class="py-lineno">2378</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'foo'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2379"></a><tt class="py-lineno">2379</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <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-2544', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-line"> </tt>
+<a name="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'foo'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2545" 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-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2544" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2545', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2546" 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-2544', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2545" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2545', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L2380"></a><tt class="py-lineno">2380</tt>  <tt class="py-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="L2381"></a><tt class="py-lineno">2381</tt>  <tt class="py-line">            <tt class="py-string">'foo'</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">e</tt><tt class="py-op">.</tt><tt id="link-2546" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2546', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2546', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2547" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2547', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
 <a name="L2383"></a><tt class="py-lineno">2383</tt>  <tt class="py-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="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">            <tt id="link-2547" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2547', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo:bar xmlns:foo="http://ns.infrae.com/foo"&gt;&lt;/foo:bar&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2548" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2548', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-line">         </tt>
-<a name="ETreeOnlyTestCase.test_namespaces_default"></a><div id="ETreeOnlyTestCase.test_namespaces_default-def"><a name="L2387"></a><tt class="py-lineno">2387</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_default-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_default');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default">test_namespaces_default</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_namespaces_default-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_default-expanded"><a name="L2388"></a><tt class="py-lineno">2388</tt>  <tt class="py-line">        <tt id="link-2549" class="py-name"><a title="lxml.etree
+<a name="L2384"></a><tt class="py-lineno">2384</tt>  <tt class="py-line">            <tt class="py-string">'foo'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2385"></a><tt class="py-lineno">2385</tt>  <tt class="py-line">            <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2548" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2548', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2386"></a><tt class="py-lineno">2386</tt>  <tt class="py-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="L2387"></a><tt class="py-lineno">2387</tt>  <tt class="py-line">            <tt id="link-2549" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2549', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo:bar xmlns:foo="http://ns.infrae.com/foo"&gt;&lt;/foo:bar&gt;'</tt><tt class="py-op">)</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-2550" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2550', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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="ETreeOnlyTestCase.test_namespaces_default"></a><div id="ETreeOnlyTestCase.test_namespaces_default-def"><a name="L2390"></a><tt class="py-lineno">2390</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_default-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_default');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default">test_namespaces_default</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_namespaces_default-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_default-expanded"><a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">        <tt id="link-2551" 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-2549', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2550" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2551', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2552" 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-2550', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2389"></a><tt class="py-lineno">2389</tt>  <tt class="py-line"> </tt>
-<a name="L2390"></a><tt class="py-lineno">2390</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2391"></a><tt class="py-lineno">2391</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2551" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2552', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2392"></a><tt class="py-lineno">2392</tt>  <tt class="py-line"> </tt>
+<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2553" 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-2551', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2552" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2553', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2554" 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-2552', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2553" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2553', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2393"></a><tt class="py-lineno">2393</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2394"></a><tt class="py-lineno">2394</tt>  <tt class="py-line">            <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2554" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2554', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2554', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2555" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2555', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
 <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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">            <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2555" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2396"></a><tt class="py-lineno">2396</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L2397"></a><tt class="py-lineno">2397</tt>  <tt class="py-line">            <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2556" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2556', 'prefix', 'link-2145');">prefix</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-string">'{http://ns.infrae.com/foo}bar'</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">e</tt><tt class="py-op">.</tt><tt id="link-2557" 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-2555', 'tag', 'link-68');">tag</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 id="link-2556" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2556', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;bar xmlns="http://ns.infrae.com/foo"&gt;&lt;/bar&gt;'</tt><tt class="py-op">)</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-2557" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2557', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2401"></a><tt class="py-lineno">2401</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_namespaces_default_and_attr"></a><div id="ETreeOnlyTestCase.test_namespaces_default_and_attr-def"><a name="L2402"></a><tt class="py-lineno">2402</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_default_and_attr-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_default_and_attr');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_and_attr">test_namespaces_default_and_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_namespaces_default_and_attr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_default_and_attr-expanded"><a name="L2403"></a><tt class="py-lineno">2403</tt>  <tt class="py-line">        <tt id="link-2558" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2557', 'tag', 'link-68');">tag</a></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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2402"></a><tt class="py-lineno">2402</tt>  <tt class="py-line">            <tt id="link-2558" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2558', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;bar xmlns="http://ns.infrae.com/foo"&gt;&lt;/bar&gt;'</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 class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2559" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2559', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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="ETreeOnlyTestCase.test_namespaces_default_and_attr"></a><div id="ETreeOnlyTestCase.test_namespaces_default_and_attr-def"><a name="L2405"></a><tt class="py-lineno">2405</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_default_and_attr-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_default_and_attr');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_and_attr">test_namespaces_default_and_attr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_namespaces_default_and_attr-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_default_and_attr-expanded"><a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line">        <tt id="link-2560" 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-2558', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2559" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2560', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2561" 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-2559', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2404"></a><tt class="py-lineno">2404</tt>  <tt class="py-line"> </tt>
-<a name="L2405"></a><tt class="py-lineno">2405</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2406"></a><tt class="py-lineno">2406</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2560" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2561', 'etree', 'link-10');">etree</a></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 class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2409"></a><tt class="py-lineno">2409</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2562" 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-2560', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2561" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2562', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2563" 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-2561', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2562" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2562', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L2408"></a><tt class="py-lineno">2408</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2563" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2563', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/hoi}test'</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2410"></a><tt class="py-lineno">2410</tt>  <tt class="py-line">            <tt id="link-2564" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2564', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;bar xmlns="http://ns.infrae.com/foo" xmlns:hoi="http://ns.infrae.com/hoi" hoi:test="value"&gt;&lt;/bar&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2565" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2565', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2412"></a><tt class="py-lineno">2412</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge"></a><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-def"><a name="L2413"></a><tt class="py-lineno">2413</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_keeps_namespace_prefix_on_merge">test_attribute_keeps_namespace_prefix_on_merge</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-expanded"><a name="L2414"></a><tt class="py-lineno">2414</tt>  <tt class="py-line">        <tt id="link-2566" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2563', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2564" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2564', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
+<a name="L2411"></a><tt class="py-lineno">2411</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2565" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-2565', 'set', 'link-236');">set</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/hoi}test'</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2413"></a><tt class="py-lineno">2413</tt>  <tt class="py-line">            <tt id="link-2566" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2566', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;bar xmlns="http://ns.infrae.com/foo" xmlns:hoi="http://ns.infrae.com/hoi" hoi:test="value"&gt;&lt;/bar&gt;'</tt><tt class="py-op">)</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">self</tt><tt class="py-op">.</tt><tt id="link-2567" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2567', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge"></a><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-def"><a name="L2416"></a><tt class="py-lineno">2416</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_keeps_namespace_prefix_on_merge">test_attribute_keeps_namespace_prefix_on_merge</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge-expanded"><a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">        <tt id="link-2568" 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-2566', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2567" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2568', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2569" 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-2567', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2415"></a><tt class="py-lineno">2415</tt>  <tt class="py-line"> </tt>
-<a name="L2416"></a><tt class="py-lineno">2416</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2569" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2569', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line"> </tt>
+<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">        <tt id="link-2570" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2570', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2571" 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-2569', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2570" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2571', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2572" 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-2570', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}root'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2417"></a><tt class="py-lineno">2417</tt>  <tt class="py-line">                             <tt id="link-2571" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2571', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L2418"></a><tt class="py-lineno">2418</tt>  <tt class="py-line">        <tt class="py-name">sub</tt> <tt class="py-op">=</tt> <tt id="link-2572" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2572', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}root'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line">                             <tt id="link-2573" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2573', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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">sub</tt> <tt class="py-op">=</tt> <tt id="link-2574" 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-2572', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2573" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2574', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2575" 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-2573', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2419"></a><tt class="py-lineno">2419</tt>  <tt class="py-line">                            <tt id="link-2574" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2574', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L2420"></a><tt class="py-lineno">2420</tt>  <tt class="py-line"> </tt>
-<a name="L2421"></a><tt class="py-lineno">2421</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2575" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2575', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">                            <tt id="link-2576" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2576', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">}</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">sub</tt><tt class="py-op">.</tt><tt id="link-2577" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2575', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</tt> </tt>
-<a name="L2422"></a><tt class="py-lineno">2422</tt>  <tt class="py-line">        <tt 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">sub</tt><tt class="py-op">.</tt><tt id="link-2576" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2577', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2578" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2576', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2423"></a><tt class="py-lineno">2423</tt>  <tt class="py-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="L2424"></a><tt class="py-lineno">2424</tt>  <tt class="py-line">            <tt id="link-2577" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2577', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test:sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</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 id="link-2578" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2578', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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-2579" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2579', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test:sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</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-2580" 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-2578', 'etree', 'link-10');">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-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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>
-<a name="L2427"></a><tt class="py-lineno">2427</tt>  <tt class="py-line">        <tt id="link-2580" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2580', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2581" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2581', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line">            <tt id="link-2582" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2582', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root xmlns="http://test/ns"&gt;'</tt> </tt>
-<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</tt> </tt>
-<a name="L2431"></a><tt class="py-lineno">2431</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">            <tt id="link-2583" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2580', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2581" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2581', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2429"></a><tt class="py-lineno">2429</tt>  <tt class="py-line"> </tt>
+<a name="L2430"></a><tt class="py-lineno">2430</tt>  <tt class="py-line">        <tt id="link-2582" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2582', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2583" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2583', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+<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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2432"></a><tt class="py-lineno">2432</tt>  <tt class="py-line">            <tt id="link-2584" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2584', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root xmlns="http://test/ns"&gt;'</tt> </tt>
+<a name="L2433"></a><tt class="py-lineno">2433</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</tt> </tt>
+<a name="L2434"></a><tt class="py-lineno">2434</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">            <tt id="link-2585" 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-2583', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2584" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2584', 'tostring', 'link-649');">tostring</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-215');">root</a></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="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons"></a><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-def"><a name="L2434"></a><tt class="py-lineno">2434</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" 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><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-expanded"><a name="L2435"></a><tt class="py-lineno">2435</tt>  <tt class="py-line">        <tt id="link-2586" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2585', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2586" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2586', 'tostring', 'link-660');">tostring</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons"></a><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-def"><a name="L2437"></a><tt class="py-lineno">2437</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" 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><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_keeps_namespace_prefix_on_merge_with_nons-expanded"><a name="L2438"></a><tt class="py-lineno">2438</tt>  <tt class="py-line">        <tt id="link-2588" 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-2586', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2587" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2588', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2589" 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-2587', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2436"></a><tt class="py-lineno">2436</tt>  <tt class="py-line"> </tt>
-<a name="L2437"></a><tt class="py-lineno">2437</tt>  <tt class="py-line">        <tt id="link-2588" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2588', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2589" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2589', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line"> </tt>
+<a name="L2440"></a><tt class="py-lineno">2440</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-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2591" 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-2589', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2590" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2591', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2592" 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-2590', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">sub</tt> <tt class="py-op">=</tt> <tt id="link-2591" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2592', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">        <tt class="py-name">sub</tt> <tt class="py-op">=</tt> <tt id="link-2593" 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-2591', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2592" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2593', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2594" 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-2592', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2439"></a><tt class="py-lineno">2439</tt>  <tt class="py-line">                            <tt id="link-2593" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2593', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L2440"></a><tt class="py-lineno">2440</tt>  <tt class="py-line"> </tt>
-<a name="L2441"></a><tt class="py-lineno">2441</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2594" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2594', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">                            <tt id="link-2595" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2595', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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>
+<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2596" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2594', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</tt> </tt>
-<a name="L2442"></a><tt class="py-lineno">2442</tt>  <tt class="py-line">        <tt 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">sub</tt><tt class="py-op">.</tt><tt id="link-2595" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2596', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2597" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2595', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2444"></a><tt class="py-lineno">2444</tt>  <tt class="py-line">            <tt id="link-2596" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2596', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test:sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2445"></a><tt class="py-lineno">2445</tt>  <tt class="py-line">            <tt id="link-2597" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2597', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">            <tt id="link-2598" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2598', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test:sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</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 id="link-2599" 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-2597', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2598" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2598', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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>
-<a name="L2447"></a><tt class="py-lineno">2447</tt>  <tt class="py-line">        <tt id="link-2599" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2599', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2600" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2600', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line">            <tt id="link-2601" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2601', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;'</tt> </tt>
-<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;test:sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</tt> </tt>
-<a name="L2451"></a><tt class="py-lineno">2451</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line">            <tt id="link-2602" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2599', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2600" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2600', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2449"></a><tt class="py-lineno">2449</tt>  <tt class="py-line"> </tt>
+<a name="L2450"></a><tt class="py-lineno">2450</tt>  <tt class="py-line">        <tt id="link-2601" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2601', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2602" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2602', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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 class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2452"></a><tt class="py-lineno">2452</tt>  <tt class="py-line">            <tt id="link-2603" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2603', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;'</tt> </tt>
+<a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;test:sub xmlns:test="http://test/ns" test:attr="value"/&gt;'</tt> </tt>
+<a name="L2454"></a><tt class="py-lineno">2454</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line">            <tt id="link-2604" 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-2602', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2603" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2603', 'tostring', 'link-649');">tostring</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2453"></a><tt class="py-lineno">2453</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons"></a><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-def"><a name="L2454"></a><tt class="py-lineno">2454</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge_with_nons">test_attribute_gets_namespace_prefix_on_merge_with_nons</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-expanded"><a name="L2455"></a><tt class="py-lineno">2455</tt>  <tt class="py-line">        <tt id="link-2605" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2604', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2605" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2605', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2606" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2606', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons"></a><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-def"><a name="L2457"></a><tt class="py-lineno">2457</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge_with_nons">test_attribute_gets_namespace_prefix_on_merge_with_nons</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge_with_nons-expanded"><a name="L2458"></a><tt class="py-lineno">2458</tt>  <tt class="py-line">        <tt id="link-2607" 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-2605', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2606" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2607', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2608" 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-2606', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2456"></a><tt class="py-lineno">2456</tt>  <tt class="py-line"> </tt>
-<a name="L2457"></a><tt class="py-lineno">2457</tt>  <tt class="py-line">        <tt id="link-2607" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2607', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2608" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2608', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line"> </tt>
+<a name="L2460"></a><tt class="py-lineno">2460</tt>  <tt class="py-line">        <tt id="link-2609" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2609', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2610" 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-2608', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2609" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2610', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2611" 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-2609', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</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">sub</tt> <tt class="py-op">=</tt> <tt id="link-2610" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2611', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">        <tt class="py-name">sub</tt> <tt class="py-op">=</tt> <tt id="link-2612" 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-2610', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2611" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2612', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2613" 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-2611', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2459"></a><tt class="py-lineno">2459</tt>  <tt class="py-line">                            <tt id="link-2612" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2612', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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>
-<a name="L2461"></a><tt class="py-lineno">2461</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2613" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2613', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line">                            <tt id="link-2614" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2614', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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>
+<a name="L2464"></a><tt class="py-lineno">2464</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2615" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2613', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</tt> </tt>
-<a name="L2462"></a><tt class="py-lineno">2462</tt>  <tt class="py-line">        <tt 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">sub</tt><tt class="py-op">.</tt><tt id="link-2614" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2615', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</tt> </tt>
+<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">        <tt 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">sub</tt><tt class="py-op">.</tt><tt id="link-2616" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2614', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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-2615" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2615', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;sub xmlns="http://test/ns" '</tt> </tt>
-<a name="L2465"></a><tt class="py-lineno">2465</tt>  <tt class="py-line">                   <tt class="py-string">'xmlns:ns0="http://test/ns" ns0:attr="value"/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-line">            <tt id="link-2616" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2616', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2466"></a><tt class="py-lineno">2466</tt>  <tt class="py-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="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line">            <tt id="link-2617" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2617', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;sub xmlns="http://test/ns" '</tt> </tt>
+<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">                   <tt class="py-string">'xmlns:ns0="http://test/ns" ns0:attr="value"/&gt;'</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-2618" 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-2616', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2617" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2617', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2467"></a><tt class="py-lineno">2467</tt>  <tt class="py-line"> </tt>
-<a name="L2468"></a><tt class="py-lineno">2468</tt>  <tt class="py-line">        <tt id="link-2618" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2618', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2619" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2619', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
-<a name="L2469"></a><tt class="py-lineno">2469</tt>  <tt class="py-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="L2470"></a><tt class="py-lineno">2470</tt>  <tt class="py-line">            <tt id="link-2620" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2620', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;'</tt> </tt>
-<a name="L2471"></a><tt class="py-lineno">2471</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;sub xmlns="http://test/ns"'</tt> </tt>
-<a name="L2472"></a><tt class="py-lineno">2472</tt>  <tt class="py-line">                   <tt class="py-string">' xmlns:ns0="http://test/ns" ns0:attr="value"/&gt;'</tt> </tt>
-<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">            <tt id="link-2621" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2618', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2619" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2619', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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>
+<a name="L2471"></a><tt class="py-lineno">2471</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-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2621" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2621', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</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">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2473"></a><tt class="py-lineno">2473</tt>  <tt class="py-line">            <tt id="link-2622" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2622', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;'</tt> </tt>
+<a name="L2474"></a><tt class="py-lineno">2474</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;sub xmlns="http://test/ns"'</tt> </tt>
+<a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line">                   <tt class="py-string">' xmlns:ns0="http://test/ns" ns0:attr="value"/&gt;'</tt> </tt>
+<a name="L2476"></a><tt class="py-lineno">2476</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/root&gt;'</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 id="link-2623" 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-2621', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2622" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2622', 'tostring', 'link-649');">tostring</a></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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2475"></a><tt class="py-lineno">2475</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge"></a><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-def"><a name="L2476"></a><tt class="py-lineno">2476</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge">test_attribute_gets_namespace_prefix_on_merge</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-expanded"><a name="L2477"></a><tt class="py-lineno">2477</tt>  <tt class="py-line">        <tt id="link-2624" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2623', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2624" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2624', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2625" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2625', 'root', 'link-215');">root</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="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge"></a><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-def"><a name="L2479"></a><tt class="py-lineno">2479</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-toggle" onclick="return toggle('ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_attribute_gets_namespace_prefix_on_merge">test_attribute_gets_namespace_prefix_on_merge</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_attribute_gets_namespace_prefix_on_merge-expanded"><a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line">        <tt id="link-2626" 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-2624', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2625" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2626', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2627" 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-2625', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2478"></a><tt class="py-lineno">2478</tt>  <tt class="py-line"> </tt>
-<a name="L2479"></a><tt class="py-lineno">2479</tt>  <tt class="py-line">        <tt id="link-2626" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2626', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2627" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2627', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line"> </tt>
+<a name="L2482"></a><tt class="py-lineno">2482</tt>  <tt class="py-line">        <tt id="link-2628" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2628', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2629" 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-2627', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2628" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2629', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2630" 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-2628', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}root'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2480"></a><tt class="py-lineno">2480</tt>  <tt class="py-line">                             <tt id="link-2629" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2629', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2481"></a><tt class="py-lineno">2481</tt>  <tt class="py-line">                                    <tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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">sub</tt> <tt class="py-op">=</tt> <tt id="link-2630" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2630', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}root'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">                             <tt id="link-2631" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2631', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'test'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">        <tt class="py-name">sub</tt> <tt class="py-op">=</tt> <tt id="link-2632" 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-2630', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2631" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2632', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2633" 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-2631', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2483"></a><tt class="py-lineno">2483</tt>  <tt class="py-line">                            <tt id="link-2632" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2632', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L2484"></a><tt class="py-lineno">2484</tt>  <tt class="py-line"> </tt>
-<a name="L2485"></a><tt class="py-lineno">2485</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2633" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2633', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://test/ns}sub'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">                            <tt id="link-2634" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2634', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://test/ns'</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>
+<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line">        <tt class="py-name">sub</tt><tt class="py-op">.</tt><tt id="link-2635" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2633', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</tt> </tt>
-<a name="L2486"></a><tt class="py-lineno">2486</tt>  <tt class="py-line">        <tt 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">sub</tt><tt class="py-op">.</tt><tt id="link-2634" class="py-name"><a title="lxml.etree._Element.attrib
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2635', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">'value'</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">sub</tt><tt class="py-op">.</tt><tt id="link-2636" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
-xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2634', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</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>
-<a name="L2488"></a><tt class="py-lineno">2488</tt>  <tt class="py-line">            <tt id="link-2635" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2635', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;sub xmlns="http://test/ns" '</tt> </tt>
-<a name="L2489"></a><tt class="py-lineno">2489</tt>  <tt class="py-line">                   <tt class="py-string">'xmlns:ns0="http://test/ns" ns0:attr="value"/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-line">            <tt id="link-2636" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-2636', 'attrib', 'link-219');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">'{http://test/ns}attr'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-string">'value'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2490"></a><tt class="py-lineno">2490</tt>  <tt class="py-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="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line">            <tt id="link-2637" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2637', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;sub xmlns="http://test/ns" '</tt> </tt>
+<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">                   <tt class="py-string">'xmlns:ns0="http://test/ns" ns0:attr="value"/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-line">            <tt id="link-2638" 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-2636', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2637" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2637', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2491"></a><tt class="py-lineno">2491</tt>  <tt class="py-line"> </tt>
-<a name="L2492"></a><tt class="py-lineno">2492</tt>  <tt class="py-line">        <tt id="link-2638" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2638', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2639" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2639', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
-<a name="L2493"></a><tt class="py-lineno">2493</tt>  <tt class="py-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="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line">            <tt id="link-2640" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2640', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test:root xmlns:test="http://test/ns" xmlns="http://test/ns"&gt;'</tt> </tt>
-<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;test:sub test:attr="value"/&gt;'</tt> </tt>
-<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/test:root&gt;'</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 id="link-2641" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2638', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2639" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2639', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2494"></a><tt class="py-lineno">2494</tt>  <tt class="py-line"> </tt>
+<a name="L2495"></a><tt class="py-lineno">2495</tt>  <tt class="py-line">        <tt id="link-2640" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2640', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2641" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2641', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">sub</tt><tt class="py-op">)</tt> </tt>
+<a name="L2496"></a><tt class="py-lineno">2496</tt>  <tt class="py-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="L2497"></a><tt class="py-lineno">2497</tt>  <tt class="py-line">            <tt id="link-2642" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2642', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;test:root xmlns:test="http://test/ns" xmlns="http://test/ns"&gt;'</tt> </tt>
+<a name="L2498"></a><tt class="py-lineno">2498</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;test:sub test:attr="value"/&gt;'</tt> </tt>
+<a name="L2499"></a><tt class="py-lineno">2499</tt>  <tt class="py-line">                   <tt class="py-string">'&lt;/test:root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">            <tt id="link-2643" 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-2641', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2642" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2642', 'tostring', 'link-649');">tostring</a></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-215');">root</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="ETreeOnlyTestCase.test_namespaces_elementtree"></a><div id="ETreeOnlyTestCase.test_namespaces_elementtree-def"><a name="L2499"></a><tt class="py-lineno">2499</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_elementtree-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_elementtree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_elementtree">test_namespaces_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="ETreeOnlyTestCase.test_namespaces_elementtree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_elementtree-expanded"><a name="L2500"></a><tt class="py-lineno">2500</tt>  <tt class="py-line">        <tt id="link-2644" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2643', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2644" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2644', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2645" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2645', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_namespaces_elementtree"></a><div id="ETreeOnlyTestCase.test_namespaces_elementtree-def"><a name="L2502"></a><tt class="py-lineno">2502</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_elementtree-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_elementtree');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_elementtree">test_namespaces_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="ETreeOnlyTestCase.test_namespaces_elementtree-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_elementtree-expanded"><a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">        <tt id="link-2646" 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-2644', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2645" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2646', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2647" 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-2645', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2501"></a><tt class="py-lineno">2501</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2502"></a><tt class="py-lineno">2502</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</tt><tt class="py-op">}</tt>  </tt>
-<a name="L2503"></a><tt class="py-lineno">2503</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2646" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2647', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2504"></a><tt class="py-lineno">2504</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</tt><tt class="py-op">}</tt>  </tt>
+<a name="L2506"></a><tt class="py-lineno">2506</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2648" 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-2646', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2647" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2648', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2649" 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-2647', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}z'</tt><tt class="py-op">,</tt> <tt id="link-2648" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2648', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<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-2649" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2649', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}z'</tt><tt class="py-op">,</tt> <tt id="link-2650" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2650', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</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">tree</tt> <tt class="py-op">=</tt> <tt id="link-2651" 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-2649', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2650" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2651', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2652" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2650', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">=</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
-<a name="L2505"></a><tt class="py-lineno">2505</tt>  <tt class="py-line">        <tt id="link-2651" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2652', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">=</tt><tt class="py-name">e</tt><tt class="py-op">)</tt> </tt>
+<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">        <tt id="link-2653" 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-2651', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2652" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2652', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'{http://ns.infrae.com/hoi}x'</tt><tt class="py-op">)</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>
-<a name="L2507"></a><tt class="py-lineno">2507</tt>  <tt class="py-line">            <tt id="link-2653" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2653', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z xmlns="http://ns.infrae.com/foo" xmlns:hoi="http://ns.infrae.com/hoi"&gt;&lt;hoi:x&gt;&lt;/hoi:x&gt;&lt;/z&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L2508"></a><tt class="py-lineno">2508</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2654" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
-lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2654', '_writeElement', 'link-317');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_namespaces_default_copy_element"></a><div id="ETreeOnlyTestCase.test_namespaces_default_copy_element-def"><a name="L2510"></a><tt class="py-lineno">2510</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_default_copy_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_default_copy_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_copy_element">test_namespaces_default_copy_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="ETreeOnlyTestCase.test_namespaces_default_copy_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_default_copy_element-expanded"><a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line">        <tt id="link-2655" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2653', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2654" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2654', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'{http://ns.infrae.com/hoi}x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2509"></a><tt class="py-lineno">2509</tt>  <tt class="py-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="L2510"></a><tt class="py-lineno">2510</tt>  <tt class="py-line">            <tt id="link-2655" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2655', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z xmlns="http://ns.infrae.com/foo" xmlns:hoi="http://ns.infrae.com/hoi"&gt;&lt;hoi:x&gt;&lt;/hoi:x&gt;&lt;/z&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L2511"></a><tt class="py-lineno">2511</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2656" class="py-name"><a title="lxml.tests.test_elementtree._ETreeTestCaseBase._writeElement
+lxml.tests.test_etree.ETreeOnlyTestCase._writeElement" class="py-name" href="#" onclick="return doclink('link-2656', '_writeElement', 'link-328');">_writeElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_namespaces_default_copy_element"></a><div id="ETreeOnlyTestCase.test_namespaces_default_copy_element-def"><a name="L2513"></a><tt class="py-lineno">2513</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_default_copy_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_default_copy_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_default_copy_element">test_namespaces_default_copy_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="ETreeOnlyTestCase.test_namespaces_default_copy_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_default_copy_element-expanded"><a name="L2514"></a><tt class="py-lineno">2514</tt>  <tt class="py-line">        <tt id="link-2657" 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-2655', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2656" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2657', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2658" 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-2656', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2512"></a><tt class="py-lineno">2512</tt>  <tt class="py-line"> </tt>
-<a name="L2513"></a><tt class="py-lineno">2513</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</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">e1</tt> <tt class="py-op">=</tt> <tt id="link-2657" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2658', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2515"></a><tt class="py-lineno">2515</tt>  <tt class="py-line"> </tt>
+<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</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">e1</tt> <tt class="py-op">=</tt> <tt id="link-2659" 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-2657', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2658" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2659', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2660" 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-2658', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2659" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2659', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</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">e2</tt> <tt class="py-op">=</tt> <tt id="link-2660" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2660', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2661" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2661', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</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">e2</tt> <tt class="py-op">=</tt> <tt id="link-2662" 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-2660', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2661" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2662', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2663" 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-2661', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2662" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2662', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L2516"></a><tt class="py-lineno">2516</tt>  <tt class="py-line"> </tt>
-<a name="L2517"></a><tt class="py-lineno">2517</tt>  <tt class="py-line">        <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2663" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2663', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">e2</tt><tt class="py-op">)</tt> </tt>
-<a name="L2518"></a><tt class="py-lineno">2518</tt>  <tt class="py-line"> </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>
-<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">            <tt class="py-name">None</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">e1</tt><tt class="py-op">.</tt><tt id="link-2664" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2664', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2663', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2664" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2664', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
+<a name="L2519"></a><tt class="py-lineno">2519</tt>  <tt class="py-line"> </tt>
+<a name="L2520"></a><tt class="py-lineno">2520</tt>  <tt class="py-line">        <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2665" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2665', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">e2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2521"></a><tt class="py-lineno">2521</tt>  <tt class="py-line"> </tt>
 <a name="L2522"></a><tt class="py-lineno">2522</tt>  <tt class="py-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="L2523"></a><tt class="py-lineno">2523</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">            <tt class="py-name">e1</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-2665" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2665', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2524"></a><tt class="py-lineno">2524</tt>  <tt class="py-line">            <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2666" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2666', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</tt> </tt>
 <a name="L2525"></a><tt class="py-lineno">2525</tt>  <tt class="py-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="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/foo}bar'</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">e1</tt><tt class="py-op">.</tt><tt id="link-2666" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2526"></a><tt class="py-lineno">2526</tt>  <tt class="py-line">            <tt class="py-name">None</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">e1</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-2667" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2667', 'prefix', 'link-2145');">prefix</a></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 class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">            <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2668" 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-2666', 'tag', 'link-68');">tag</a></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 class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2530"></a><tt class="py-lineno">2530</tt>  <tt class="py-line">            <tt class="py-name">e1</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-2667" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2668', 'tag', 'link-68');">tag</a></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>
+<a name="L2532"></a><tt class="py-lineno">2532</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/foo}bar'</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">e1</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-2669" 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-2667', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2531"></a><tt class="py-lineno">2531</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_namespaces_copy_element"></a><div id="ETreeOnlyTestCase.test_namespaces_copy_element-def"><a name="L2532"></a><tt class="py-lineno">2532</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_copy_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_copy_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_copy_element">test_namespaces_copy_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="ETreeOnlyTestCase.test_namespaces_copy_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_copy_element-expanded"><a name="L2533"></a><tt class="py-lineno">2533</tt>  <tt class="py-line">        <tt id="link-2668" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2669', 'tag', 'link-68');">tag</a></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="ETreeOnlyTestCase.test_namespaces_copy_element"></a><div id="ETreeOnlyTestCase.test_namespaces_copy_element-def"><a name="L2535"></a><tt class="py-lineno">2535</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_copy_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_copy_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_copy_element">test_namespaces_copy_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="ETreeOnlyTestCase.test_namespaces_copy_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_copy_element-expanded"><a name="L2536"></a><tt class="py-lineno">2536</tt>  <tt class="py-line">        <tt id="link-2670" 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-2668', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2669" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2670', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2671" 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-2669', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2534"></a><tt class="py-lineno">2534</tt>  <tt class="py-line"> </tt>
-<a name="L2535"></a><tt class="py-lineno">2535</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/BAR'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2536"></a><tt class="py-lineno">2536</tt>  <tt class="py-line">        <tt class="py-name">e1</tt> <tt class="py-op">=</tt> <tt id="link-2670" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2671', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line"> </tt>
+<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/BAR'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line">        <tt class="py-name">e1</tt> <tt class="py-op">=</tt> <tt id="link-2672" 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-2670', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2671" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2672', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2673" 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-2671', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/BAR}bar'</tt><tt class="py-op">,</tt> <tt id="link-2672" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2672', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L2537"></a><tt class="py-lineno">2537</tt>  <tt class="py-line">        <tt class="py-name">e2</tt> <tt class="py-op">=</tt> <tt id="link-2673" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2673', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/BAR}bar'</tt><tt class="py-op">,</tt> <tt id="link-2674" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2674', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
+<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line">        <tt class="py-name">e2</tt> <tt class="py-op">=</tt> <tt id="link-2675" 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-2673', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2674" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2675', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2676" 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-2674', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2675" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2675', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L2538"></a><tt class="py-lineno">2538</tt>  <tt class="py-line"> </tt>
-<a name="L2539"></a><tt class="py-lineno">2539</tt>  <tt class="py-line">        <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2676" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2676', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">e2</tt><tt class="py-op">)</tt> </tt>
-<a name="L2540"></a><tt class="py-lineno">2540</tt>  <tt class="py-line"> </tt>
-<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-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="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line">            <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2677" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2677', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2544"></a><tt class="py-lineno">2544</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>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2676', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2677" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2677', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
+<a name="L2541"></a><tt class="py-lineno">2541</tt>  <tt class="py-line"> </tt>
+<a name="L2542"></a><tt class="py-lineno">2542</tt>  <tt class="py-line">        <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2678" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2678', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">e2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2543"></a><tt class="py-lineno">2543</tt>  <tt class="py-line"> </tt>
+<a name="L2544"></a><tt class="py-lineno">2544</tt>  <tt class="py-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="L2545"></a><tt class="py-lineno">2545</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
-<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">            <tt class="py-name">e2</tt><tt class="py-op">.</tt><tt id="link-2678" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2678', 'prefix', 'link-2143');">prefix</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2547"></a><tt class="py-lineno">2547</tt>  <tt class="py-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="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/BAR}bar'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line">            <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2679" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L2546"></a><tt class="py-lineno">2546</tt>  <tt class="py-line">            <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2679" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2679', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2547"></a><tt class="py-lineno">2547</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="L2548"></a><tt class="py-lineno">2548</tt>  <tt class="py-line">            <tt class="py-name">None</tt><tt class="py-op">,</tt> </tt>
+<a name="L2549"></a><tt class="py-lineno">2549</tt>  <tt class="py-line">            <tt class="py-name">e2</tt><tt class="py-op">.</tt><tt id="link-2680" class="py-name"><a title="lxml.etree._Element.prefix" class="py-name" href="#" onclick="return doclink('link-2680', 'prefix', 'link-2145');">prefix</a></tt><tt class="py-op">)</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>
+<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/BAR}bar'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">            <tt class="py-name">e1</tt><tt class="py-op">.</tt><tt id="link-2681" 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-2679', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</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>
-<a name="L2551"></a><tt class="py-lineno">2551</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2552"></a><tt class="py-lineno">2552</tt>  <tt class="py-line">            <tt class="py-name">e2</tt><tt class="py-op">.</tt><tt id="link-2680" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2681', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-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="L2554"></a><tt class="py-lineno">2554</tt>  <tt class="py-line">            <tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">            <tt class="py-name">e2</tt><tt class="py-op">.</tt><tt id="link-2682" 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-2680', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2553"></a><tt class="py-lineno">2553</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_namespaces_reuse_after_move"></a><div id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-def"><a name="L2554"></a><tt class="py-lineno">2554</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_reuse_after_move');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_reuse_after_move">test_namespaces_reuse_after_move</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-expanded"><a name="L2555"></a><tt class="py-lineno">2555</tt>  <tt class="py-line">        <tt class="py-name">ns_href</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://a.b.c"</tt> </tt>
-<a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line">        <tt class="py-name">one</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2681" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2682', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2556"></a><tt class="py-lineno">2556</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_namespaces_reuse_after_move"></a><div id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-def"><a name="L2557"></a><tt class="py-lineno">2557</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespaces_reuse_after_move');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespaces_reuse_after_move">test_namespaces_reuse_after_move</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespaces_reuse_after_move-expanded"><a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">        <tt class="py-name">ns_href</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://a.b.c"</tt> </tt>
+<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line">        <tt class="py-name">one</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2683" 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-2681', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2682" class="py-name"><a title="lxml.etree.fromstring
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2683', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2684" 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-2682', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L2557"></a><tt class="py-lineno">2557</tt>  <tt class="py-line">            <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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo&gt;&lt;bar xmlns:ns="%s"&gt;&lt;ns:baz/&gt;&lt;/bar&gt;&lt;/foo&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2558"></a><tt class="py-lineno">2558</tt>  <tt class="py-line">        <tt class="py-name">baz</tt> <tt class="py-op">=</tt> <tt class="py-name">one</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>
-<a name="L2559"></a><tt class="py-lineno">2559</tt>  <tt class="py-line"> </tt>
-<a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line">        <tt class="py-name">two</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2684" class="py-name"><a title="lxml.etree
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-2684', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2560"></a><tt class="py-lineno">2560</tt>  <tt class="py-line">            <tt id="link-2685" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2685', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo&gt;&lt;bar xmlns:ns="%s"&gt;&lt;ns:baz/&gt;&lt;/bar&gt;&lt;/foo&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</tt><tt class="py-op">)</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">baz</tt> <tt class="py-op">=</tt> <tt class="py-name">one</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>
+<a name="L2562"></a><tt class="py-lineno">2562</tt>  <tt class="py-line"> </tt>
+<a name="L2563"></a><tt class="py-lineno">2563</tt>  <tt class="py-line">        <tt class="py-name">two</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2686" 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-2684', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2685" class="py-name"><a title="lxml.etree.fromstring
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2686', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2687" 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-2685', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L2561"></a><tt class="py-lineno">2561</tt>  <tt class="py-line">            <tt id="link-2686" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2686', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root xmlns:ns="%s"/&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</tt><tt class="py-op">)</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">two</tt><tt class="py-op">.</tt><tt id="link-2687" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2687', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">baz</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">del</tt> <tt class="py-name">one</tt> <tt class="py-comment"># make sure the source document is deallocated</tt> </tt>
-<a name="L2564"></a><tt class="py-lineno">2564</tt>  <tt class="py-line"> </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 class="py-string">'{%s}baz'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</tt><tt class="py-op">,</tt> <tt class="py-name">baz</tt><tt class="py-op">.</tt><tt id="link-2688" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-2687', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2564"></a><tt class="py-lineno">2564</tt>  <tt class="py-line">            <tt id="link-2688" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2688', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root xmlns:ns="%s"/&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</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-name">two</tt><tt class="py-op">.</tt><tt id="link-2689" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2689', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">baz</tt><tt class="py-op">)</tt> </tt>
+<a name="L2566"></a><tt class="py-lineno">2566</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">one</tt> <tt class="py-comment"># make sure the source document is deallocated</tt> </tt>
+<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line"> </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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{%s}baz'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</tt><tt class="py-op">,</tt> <tt class="py-name">baz</tt><tt class="py-op">.</tt><tt id="link-2690" 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-2688', 'tag', 'link-68');">tag</a></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">assertEqual</tt><tt class="py-op">(</tt> </tt>
-<a name="L2567"></a><tt class="py-lineno">2567</tt>  <tt class="py-line">            <tt id="link-2689" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2689', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root xmlns:ns="%s"&gt;&lt;ns:baz/&gt;&lt;/root&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</tt><tt class="py-op">)</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 id="link-2690" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-2690', 'tag', 'link-68');">tag</a></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>
+<a name="L2570"></a><tt class="py-lineno">2570</tt>  <tt class="py-line">            <tt id="link-2691" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2691', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root xmlns:ns="%s"&gt;&lt;ns:baz/&gt;&lt;/root&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">ns_href</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-name">self</tt><tt class="py-op">.</tt><tt id="link-2692" 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-2690', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2691" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2691', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">two</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2569"></a><tt class="py-lineno">2569</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_namespace_cleanup"></a><div id="ETreeOnlyTestCase.test_namespace_cleanup-def"><a name="L2570"></a><tt class="py-lineno">2570</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespace_cleanup-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespace_cleanup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup">test_namespace_cleanup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_namespace_cleanup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespace_cleanup-expanded"><a name="L2571"></a><tt class="py-lineno">2571</tt>  <tt class="py-line">        <tt id="link-2692" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2692', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-2693" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2693', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo xmlns="F" xmlns:x="x"&gt;&lt;bar xmlns:ns="NS" xmlns:b="b" xmlns="B"&gt;&lt;ns:baz/&gt;&lt;/bar&gt;&lt;/foo&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2572"></a><tt class="py-lineno">2572</tt>  <tt class="py-line">        <tt id="link-2694" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2694', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2695" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2692', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2693" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2693', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">two</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2572"></a><tt class="py-lineno">2572</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_namespace_cleanup"></a><div id="ETreeOnlyTestCase.test_namespace_cleanup-def"><a name="L2573"></a><tt class="py-lineno">2573</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_namespace_cleanup-toggle" onclick="return toggle('ETreeOnlyTestCase.test_namespace_cleanup');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_namespace_cleanup">test_namespace_cleanup</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_namespace_cleanup-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_namespace_cleanup-expanded"><a name="L2574"></a><tt class="py-lineno">2574</tt>  <tt class="py-line">        <tt id="link-2694" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2694', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-2695" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2695', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo xmlns="F" xmlns:x="x"&gt;&lt;bar xmlns:ns="NS" xmlns:b="b" xmlns="B"&gt;&lt;ns:baz/&gt;&lt;/bar&gt;&lt;/foo&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line">        <tt id="link-2696" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2696', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2697" 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-2695', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2696" class="py-name"><a title="lxml.etree.fromstring
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2697', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2698" 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-2696', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-2697" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2697', 'xml', 'link-308');">xml</a></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">assertEqual</tt><tt class="py-op">(</tt><tt id="link-2698" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2698', 'xml', 'link-308');">xml</a></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 id="link-2699" class="py-name"><a title="lxml.etree
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-2698', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt><tt id="link-2699" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2699', 'xml', 'link-319');">xml</a></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-2700" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-2700', 'xml', 'link-319');">xml</a></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 id="link-2701" 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-2699', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2700" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2700', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2701" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2701', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2575"></a><tt class="py-lineno">2575</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2702" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2701', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2702" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2702', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2703" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2703', 'root', 'link-215');">root</a></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">self</tt><tt class="py-op">.</tt><tt id="link-2704" 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-2702', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2703" class="py-name" targets="Function lxml.etree.cleanup_namespaces()=lxml.etree-module.html#cleanup_namespaces"><a title="lxml.etree.cleanup_namespaces" class="py-name" href="#" onclick="return doclink('link-2703', 'cleanup_namespaces', 'link-2703');">cleanup_namespaces</a></tt><tt class="py-op">(</tt><tt id="link-2704" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2704', 'root', 'link-215');">root</a></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>
-<a name="L2577"></a><tt class="py-lineno">2577</tt>  <tt class="py-line">            <tt id="link-2705" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2705', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo xmlns="F"&gt;&lt;bar xmlns:ns="NS" xmlns="B"&gt;&lt;ns:baz/&gt;&lt;/bar&gt;&lt;/foo&gt;'</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">self</tt><tt class="py-op">.</tt><tt id="link-2706" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2704', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2705" class="py-name" targets="Function lxml.etree.cleanup_namespaces()=lxml.etree-module.html#cleanup_namespaces"><a title="lxml.etree.cleanup_namespaces" class="py-name" href="#" onclick="return doclink('link-2705', 'cleanup_namespaces', 'link-2705');">cleanup_namespaces</a></tt><tt class="py-op">(</tt><tt id="link-2706" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2706', 'root', 'link-215');">root</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt> </tt>
+<a name="L2580"></a><tt class="py-lineno">2580</tt>  <tt class="py-line">            <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-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;foo xmlns="F"&gt;&lt;bar xmlns:ns="NS" xmlns="B"&gt;&lt;ns:baz/&gt;&lt;/bar&gt;&lt;/foo&gt;'</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">self</tt><tt class="py-op">.</tt><tt id="link-2708" 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-2706', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2707" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2707', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-2708" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2708', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2579"></a><tt class="py-lineno">2579</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_element_nsmap"></a><div id="ETreeOnlyTestCase.test_element_nsmap-def"><a name="L2580"></a><tt class="py-lineno">2580</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_element_nsmap-toggle" onclick="return toggle('ETreeOnlyTestCase.test_element_nsmap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_nsmap">test_element_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="ETreeOnlyTestCase.test_element_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_element_nsmap-expanded"><a name="L2581"></a><tt class="py-lineno">2581</tt>  <tt class="py-line">        <tt id="link-2709" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2708', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2709" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-2709', 'tostring', 'link-660');">tostring</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-215');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2582"></a><tt class="py-lineno">2582</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_element_nsmap"></a><div id="ETreeOnlyTestCase.test_element_nsmap-def"><a name="L2583"></a><tt class="py-lineno">2583</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_element_nsmap-toggle" onclick="return toggle('ETreeOnlyTestCase.test_element_nsmap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_nsmap">test_element_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="ETreeOnlyTestCase.test_element_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_element_nsmap-expanded"><a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line">        <tt id="link-2711" 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-2709', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2710" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2711', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2712" 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-2710', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2582"></a><tt class="py-lineno">2582</tt>  <tt class="py-line"> </tt>
-<a name="L2583"></a><tt class="py-lineno">2583</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2584"></a><tt class="py-lineno">2584</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2711" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2712', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2585"></a><tt class="py-lineno">2585</tt>  <tt class="py-line"> </tt>
+<a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2587"></a><tt class="py-lineno">2587</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2713" 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-2711', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2712" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2713', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2714" 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-2712', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2713" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2713', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
-<a name="L2586"></a><tt class="py-lineno">2586</tt>  <tt class="py-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="L2587"></a><tt class="py-lineno">2587</tt>  <tt class="py-line">            <tt class="py-name">r</tt><tt class="py-op">,</tt> </tt>
-<a name="L2588"></a><tt class="py-lineno">2588</tt>  <tt class="py-line">            <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2714" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2714', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_subelement_nsmap"></a><div id="ETreeOnlyTestCase.test_subelement_nsmap-def"><a name="L2590"></a><tt class="py-lineno">2590</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_subelement_nsmap-toggle" onclick="return toggle('ETreeOnlyTestCase.test_subelement_nsmap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_nsmap">test_subelement_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="ETreeOnlyTestCase.test_subelement_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_subelement_nsmap-expanded"><a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line">        <tt id="link-2715" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2714', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2715" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2715', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">r</tt><tt class="py-op">)</tt> </tt>
+<a name="L2589"></a><tt class="py-lineno">2589</tt>  <tt class="py-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="L2590"></a><tt class="py-lineno">2590</tt>  <tt class="py-line">            <tt class="py-name">r</tt><tt class="py-op">,</tt> </tt>
+<a name="L2591"></a><tt class="py-lineno">2591</tt>  <tt class="py-line">            <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2716" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2716', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2592"></a><tt class="py-lineno">2592</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_subelement_nsmap"></a><div id="ETreeOnlyTestCase.test_subelement_nsmap-def"><a name="L2593"></a><tt class="py-lineno">2593</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_subelement_nsmap-toggle" onclick="return toggle('ETreeOnlyTestCase.test_subelement_nsmap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_subelement_nsmap">test_subelement_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="ETreeOnlyTestCase.test_subelement_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_subelement_nsmap-expanded"><a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line">        <tt id="link-2717" 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-2715', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2716" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2717', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2718" 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-2716', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2592"></a><tt class="py-lineno">2592</tt>  <tt class="py-line"> </tt>
-<a name="L2593"></a><tt class="py-lineno">2593</tt>  <tt class="py-line">        <tt class="py-name">re</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2594"></a><tt class="py-lineno">2594</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2717" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2718', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2595"></a><tt class="py-lineno">2595</tt>  <tt class="py-line"> </tt>
+<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line">        <tt class="py-name">re</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/foo'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line">             <tt class="py-string">'hoi'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/hoi'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2719" 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-2717', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2718" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2719', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2720" 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-2718', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2719" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2719', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">)</tt> </tt>
-<a name="L2596"></a><tt class="py-lineno">2596</tt>  <tt class="py-line"> </tt>
-<a name="L2597"></a><tt class="py-lineno">2597</tt>  <tt class="py-line">        <tt class="py-name">rs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/honk'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2598"></a><tt class="py-lineno">2598</tt>  <tt class="py-line">             <tt class="py-string">'top'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/top'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-2720" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2720', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{http://ns.infrae.com/foo}bar'</tt><tt class="py-op">,</tt> <tt id="link-2721" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2721', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">re</tt><tt class="py-op">)</tt> </tt>
+<a name="L2599"></a><tt class="py-lineno">2599</tt>  <tt class="py-line"> </tt>
+<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line">        <tt class="py-name">rs</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-name">None</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/honk'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line">             <tt class="py-string">'top'</tt><tt class="py-op">:</tt> <tt class="py-string">'http://ns.infrae.com/top'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-2722" 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-2720', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2721" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2721', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'{http://ns.infrae.com/honk}bar'</tt><tt class="py-op">,</tt> <tt id="link-2722" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2722', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">rs</tt><tt class="py-op">)</tt> </tt>
-<a name="L2600"></a><tt class="py-lineno">2600</tt>  <tt class="py-line"> </tt>
-<a name="L2601"></a><tt class="py-lineno">2601</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-2723" class="py-name"><a title="lxml.etree.PyErrorLog.copy
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2722', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2723" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2723', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'{http://ns.infrae.com/honk}bar'</tt><tt class="py-op">,</tt> <tt id="link-2724" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2724', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">=</tt><tt class="py-name">rs</tt><tt class="py-op">)</tt> </tt>
+<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line"> </tt>
+<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line">        <tt class="py-name">r</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt id="link-2725" 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" class="py-name" href="#" onclick="return doclink('link-2723', 'copy', 'link-1');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L2602"></a><tt class="py-lineno">2602</tt>  <tt class="py-line">        <tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-2724" class="py-name" targets="Method lxml.etree._Attrib.update()=lxml.etree._Attrib-class.html#update"><a title="lxml.etree._Attrib.update" class="py-name" href="#" onclick="return doclink('link-2724', 'update', 'link-2724');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">rs</tt><tt class="py-op">)</tt> </tt>
-<a name="L2603"></a><tt class="py-lineno">2603</tt>  <tt class="py-line">        <tt 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">re</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2725" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2725', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2604"></a><tt class="py-lineno">2604</tt>  <tt class="py-line">        <tt 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">s</tt><tt class="py-op">.</tt><tt id="link-2726" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2726', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_html_prefix_nsmap"></a><div id="ETreeOnlyTestCase.test_html_prefix_nsmap-def"><a name="L2606"></a><tt class="py-lineno">2606</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_html_prefix_nsmap-toggle" onclick="return toggle('ETreeOnlyTestCase.test_html_prefix_nsmap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_prefix_nsmap">test_html_prefix_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="ETreeOnlyTestCase.test_html_prefix_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_html_prefix_nsmap-expanded"><a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">        <tt id="link-2727" class="py-name"><a title="lxml.etree
+lxml.etree._ListErrorLog.copy" class="py-name" href="#" onclick="return doclink('link-2725', 'copy', 'link-1');">copy</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L2605"></a><tt class="py-lineno">2605</tt>  <tt class="py-line">        <tt class="py-name">r</tt><tt class="py-op">.</tt><tt id="link-2726" class="py-name" targets="Method lxml.etree._Attrib.update()=lxml.etree._Attrib-class.html#update"><a title="lxml.etree._Attrib.update" class="py-name" href="#" onclick="return doclink('link-2726', 'update', 'link-2726');">update</a></tt><tt class="py-op">(</tt><tt class="py-name">rs</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-2727" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2727', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2607"></a><tt class="py-lineno">2607</tt>  <tt class="py-line">        <tt 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">s</tt><tt class="py-op">.</tt><tt id="link-2728" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2728', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_html_prefix_nsmap"></a><div id="ETreeOnlyTestCase.test_html_prefix_nsmap-def"><a name="L2609"></a><tt class="py-lineno">2609</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_html_prefix_nsmap-toggle" onclick="return toggle('ETreeOnlyTestCase.test_html_prefix_nsmap');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_prefix_nsmap">test_html_prefix_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="ETreeOnlyTestCase.test_html_prefix_nsmap-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_html_prefix_nsmap-expanded"><a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line">        <tt id="link-2729" 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-2727', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2728" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2729', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2730" 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-2728', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2608"></a><tt class="py-lineno">2608</tt>  <tt class="py-line">        <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-2729" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2730', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2611"></a><tt class="py-lineno">2611</tt>  <tt class="py-line">        <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-2731" 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-2729', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2730" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2731', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2732" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-2730', 'HTML', 'link-641');">HTML</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;hha:page-description&gt;aa&lt;/hha:page-description&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2731" 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"><a title="lxml.etree._Element.find
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-2732', 'HTML', 'link-652');">HTML</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;hha:page-description&gt;aa&lt;/hha:page-description&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-2733" 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"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2731', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-string">'.//page-description'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2609"></a><tt class="py-lineno">2609</tt>  <tt class="py-line">        <tt 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">'hha'</tt><tt class="py-op">:</tt> <tt class="py-name">None</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-2732" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2732', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2610"></a><tt class="py-lineno">2610</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_multiple"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple-def"><a name="L2611"></a><tt class="py-lineno">2611</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_multiple">test_getiterator_filter_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple-expanded"><a name="L2612"></a><tt class="py-lineno">2612</tt>  <tt class="py-line">        <tt id="link-2733" class="py-name"><a title="lxml.etree.Element
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2733', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-string">'.//page-description'</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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-op">{</tt><tt class="py-string">'hha'</tt><tt class="py-op">:</tt> <tt class="py-name">None</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-2734" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-2734', 'nsmap', 'link-186');">nsmap</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_multiple"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple-def"><a name="L2614"></a><tt class="py-lineno">2614</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_multiple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_multiple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_multiple">test_getiterator_filter_multiple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple-expanded"><a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line">        <tt id="link-2735" 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-2733', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2734" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2735', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2736" 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-2734', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2735" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2736', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2737" 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-2735', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2613"></a><tt class="py-lineno">2613</tt>  <tt class="py-line">        <tt id="link-2736" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2736', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2737" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2737', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2616"></a><tt class="py-lineno">2616</tt>  <tt class="py-line">        <tt id="link-2738" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2738', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2739" 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-2737', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2738" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2738', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2614"></a><tt class="py-lineno">2614</tt>  <tt class="py-line"> </tt>
-<a name="L2615"></a><tt class="py-lineno">2615</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2739" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2739', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2740" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2740', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2617"></a><tt class="py-lineno">2617</tt>  <tt class="py-line"> </tt>
+<a name="L2618"></a><tt class="py-lineno">2618</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2741" 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-2739', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">b</tt> <tt class="py-op">=</tt> <tt id="link-2740" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2740', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">c</tt> <tt class="py-op">=</tt> <tt id="link-2741" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2741', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">d</tt> <tt class="py-op">=</tt> <tt id="link-2742" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2742', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2619"></a><tt class="py-lineno">2619</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2743" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2743', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2744" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2744', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line"> </tt>
-<a name="L2622"></a><tt class="py-lineno">2622</tt>  <tt class="py-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="L2623"></a><tt class="py-lineno">2623</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</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-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2745" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2745', 'getiterator', 'link-1301');">getiterator</a></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 class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2741', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2619"></a><tt class="py-lineno">2619</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2742" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2742', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2620"></a><tt class="py-lineno">2620</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2743" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2743', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2621"></a><tt class="py-lineno">2621</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2744" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2744', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</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">e</tt> <tt class="py-op">=</tt> <tt id="link-2745" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2745', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</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">f</tt> <tt class="py-op">=</tt> <tt id="link-2746" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2746', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2624"></a><tt class="py-lineno">2624</tt>  <tt class="py-line"> </tt>
 <a name="L2625"></a><tt class="py-lineno">2625</tt>  <tt class="py-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="L2626"></a><tt class="py-lineno">2626</tt>  <tt class="py-line">            <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-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2746" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2746', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">)</tt><tt class="py-op">)</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 class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</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-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2747" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2747', 'getiterator', 'link-1301');">getiterator</a></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 class="py-op">)</tt> </tt>
 <a name="L2628"></a><tt class="py-lineno">2628</tt>  <tt class="py-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="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2747" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2747', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</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="L2629"></a><tt class="py-lineno">2629</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2630"></a><tt class="py-lineno">2630</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2748" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2748', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2631"></a><tt class="py-lineno">2631</tt>  <tt class="py-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="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">               <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2748" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2748', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</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="L2632"></a><tt class="py-lineno">2632</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2633"></a><tt class="py-lineno">2633</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2749" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2749', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</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="L2634"></a><tt class="py-lineno">2634</tt>  <tt class="py-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="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line">                  <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2749" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2749', 'getiterator', 'link-1301');">getiterator</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 class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2637"></a><tt class="py-lineno">2637</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-def"><a name="L2638"></a><tt class="py-lineno">2638</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_multiple_tuple">test_getiterator_filter_multiple_tuple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-expanded"><a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line">        <tt id="link-2750" class="py-name"><a title="lxml.etree.Element
+<a name="L2635"></a><tt class="py-lineno">2635</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2636"></a><tt class="py-lineno">2636</tt>  <tt class="py-line">               <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2750" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2750', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</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="L2637"></a><tt class="py-lineno">2637</tt>  <tt class="py-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="L2638"></a><tt class="py-lineno">2638</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2639"></a><tt class="py-lineno">2639</tt>  <tt class="py-line">                  <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2751" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2751', 'getiterator', 'link-1301');">getiterator</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 class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-def"><a name="L2641"></a><tt class="py-lineno">2641</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_multiple_tuple">test_getiterator_filter_multiple_tuple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_multiple_tuple-expanded"><a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line">        <tt id="link-2752" 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-2750', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2751" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2752', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2753" 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-2751', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2752" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2753', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2754" 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-2752', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2640"></a><tt class="py-lineno">2640</tt>  <tt class="py-line">        <tt id="link-2753" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2753', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2754" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2754', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">        <tt id="link-2755" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2755', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2756" 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-2754', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2755" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2755', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2641"></a><tt class="py-lineno">2641</tt>  <tt class="py-line"> </tt>
-<a name="L2642"></a><tt class="py-lineno">2642</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2756" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2756', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2757" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2757', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line"> </tt>
+<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2758" 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-2756', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2643"></a><tt class="py-lineno">2643</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2757" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2757', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2644"></a><tt class="py-lineno">2644</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2758" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2758', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2645"></a><tt class="py-lineno">2645</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2759" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2759', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2760" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2760', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2761" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2761', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line"> </tt>
-<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-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="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line">                  <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2762" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2762', 'getiterator', 'link-1301');">getiterator</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 class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2758', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2646"></a><tt class="py-lineno">2646</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2759" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2759', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2647"></a><tt class="py-lineno">2647</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2760" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2760', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2648"></a><tt class="py-lineno">2648</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2761" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2761', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2649"></a><tt class="py-lineno">2649</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2762" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2762', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2650"></a><tt class="py-lineno">2650</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2763" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2763', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2651"></a><tt class="py-lineno">2651</tt>  <tt class="py-line"> </tt>
 <a name="L2652"></a><tt class="py-lineno">2652</tt>  <tt class="py-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="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2763" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2763', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2653"></a><tt class="py-lineno">2653</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2654"></a><tt class="py-lineno">2654</tt>  <tt class="py-line">                  <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2764" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2764', 'getiterator', 'link-1301');">getiterator</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 class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2655"></a><tt class="py-lineno">2655</tt>  <tt class="py-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="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">                  <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2764" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2764', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">'f'</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 class="py-op">)</tt> </tt>
+<a name="L2656"></a><tt class="py-lineno">2656</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2657"></a><tt class="py-lineno">2657</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2765" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2765', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">)</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2658"></a><tt class="py-lineno">2658</tt>  <tt class="py-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="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">                     <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2765" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2765', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</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 class="py-op">)</tt> </tt>
+<a name="L2659"></a><tt class="py-lineno">2659</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2660"></a><tt class="py-lineno">2660</tt>  <tt class="py-line">                  <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2766" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2766', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">'f'</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 class="py-op">)</tt> </tt>
 <a name="L2661"></a><tt class="py-lineno">2661</tt>  <tt class="py-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="L2662"></a><tt class="py-lineno">2662</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2766" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2766', 'getiterator', 'link-1301');">getiterator</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 class="py-op">)</tt> </tt>
-</div><a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_namespace"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_namespace-def"><a name="L2665"></a><tt class="py-lineno">2665</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_namespace-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_namespace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_namespace">test_getiterator_filter_namespace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getiterator_filter_namespace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_namespace-expanded"><a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line">        <tt id="link-2767" class="py-name"><a title="lxml.etree.Element
+<a name="L2662"></a><tt class="py-lineno">2662</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2663"></a><tt class="py-lineno">2663</tt>  <tt class="py-line">                     <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2767" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2767', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt> <tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-string">'*'</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 class="py-op">)</tt> </tt>
+<a name="L2664"></a><tt class="py-lineno">2664</tt>  <tt class="py-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="L2665"></a><tt class="py-lineno">2665</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2666"></a><tt class="py-lineno">2666</tt>  <tt class="py-line">              <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2768" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2768', 'getiterator', 'link-1301');">getiterator</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 class="py-op">)</tt> </tt>
+</div><a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_namespace"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_namespace-def"><a name="L2668"></a><tt class="py-lineno">2668</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_namespace-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_namespace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_namespace">test_getiterator_filter_namespace</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getiterator_filter_namespace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_namespace-expanded"><a name="L2669"></a><tt class="py-lineno">2669</tt>  <tt class="py-line">        <tt id="link-2769" 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-2767', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2768" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2769', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2770" 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-2768', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2769" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2770', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2771" 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-2769', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2667"></a><tt class="py-lineno">2667</tt>  <tt class="py-line">        <tt id="link-2770" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2770', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2771" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2771', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">        <tt id="link-2772" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2772', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2773" 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-2771', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2772" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2772', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2668"></a><tt class="py-lineno">2668</tt>  <tt class="py-line"> </tt>
-<a name="L2669"></a><tt class="py-lineno">2669</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2773" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2773', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2774" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2774', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line"> </tt>
+<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2775" 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-2773', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{a}a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2670"></a><tt class="py-lineno">2670</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2774" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2774', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{a}b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2671"></a><tt class="py-lineno">2671</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2775" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2775', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{a}c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2672"></a><tt class="py-lineno">2672</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2776" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2776', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'{b}d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2777" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2777', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'{a}e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2778" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2778', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'{b}f'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2675"></a><tt class="py-lineno">2675</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-2779" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2779', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'g'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line"> </tt>
-<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-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="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2780" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2780', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{a}a'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2775', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{a}a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2673"></a><tt class="py-lineno">2673</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2776" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2776', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{a}b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2674"></a><tt class="py-lineno">2674</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2777" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2777', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{a}c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2675"></a><tt class="py-lineno">2675</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2778" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2778', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'{b}d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2676"></a><tt class="py-lineno">2676</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2779" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2779', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'{a}e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2677"></a><tt class="py-lineno">2677</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2780" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2780', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'{b}f'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2678"></a><tt class="py-lineno">2678</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-2781" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2781', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'g'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2679"></a><tt class="py-lineno">2679</tt>  <tt class="py-line"> </tt>
 <a name="L2680"></a><tt class="py-lineno">2680</tt>  <tt class="py-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="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2781" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2781', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{b}a'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2681"></a><tt class="py-lineno">2681</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2682"></a><tt class="py-lineno">2682</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2782" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2782', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{a}a'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2683"></a><tt class="py-lineno">2683</tt>  <tt class="py-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="L2684"></a><tt class="py-lineno">2684</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2782" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2782', 'getiterator', 'link-1301');">getiterator</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="L2685"></a><tt class="py-lineno">2685</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2783" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2783', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{b}a'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2686"></a><tt class="py-lineno">2686</tt>  <tt class="py-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="L2687"></a><tt class="py-lineno">2687</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">b</tt><tt class="py-op">,</tt><tt class="py-name">d</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">,</tt><tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2783" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2783', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2687"></a><tt class="py-lineno">2687</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2688"></a><tt class="py-lineno">2688</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2784" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2784', 'getiterator', 'link-1301');">getiterator</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="L2689"></a><tt class="py-lineno">2689</tt>  <tt class="py-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="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2784" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2784', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{b}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2690"></a><tt class="py-lineno">2690</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt><tt class="py-name">b</tt><tt class="py-op">,</tt><tt class="py-name">d</tt><tt class="py-op">,</tt><tt class="py-name">c</tt><tt class="py-op">,</tt><tt class="py-name">e</tt><tt class="py-op">,</tt><tt class="py-name">f</tt><tt class="py-op">,</tt><tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2691"></a><tt class="py-lineno">2691</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2785" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2785', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2692"></a><tt class="py-lineno">2692</tt>  <tt class="py-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="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2785" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2785', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{b}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2693"></a><tt class="py-lineno">2693</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2694"></a><tt class="py-lineno">2694</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2786" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2786', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{b}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2695"></a><tt class="py-lineno">2695</tt>  <tt class="py-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="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2786" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2786', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'g'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2696"></a><tt class="py-lineno">2696</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2697"></a><tt class="py-lineno">2697</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2787" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2787', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{b}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2698"></a><tt class="py-lineno">2698</tt>  <tt class="py-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="L2699"></a><tt class="py-lineno">2699</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2787" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2787', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{}g'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2700"></a><tt class="py-lineno">2700</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2788" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2788', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'g'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2701"></a><tt class="py-lineno">2701</tt>  <tt class="py-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="L2702"></a><tt class="py-lineno">2702</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2788" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2788', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_local_name"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_local_name-def"><a name="L2705"></a><tt class="py-lineno">2705</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_local_name-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_local_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_local_name">test_getiterator_filter_local_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getiterator_filter_local_name-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_local_name-expanded"><a name="L2706"></a><tt class="py-lineno">2706</tt>  <tt class="py-line">        <tt id="link-2789" class="py-name"><a title="lxml.etree.Element
+<a name="L2703"></a><tt class="py-lineno">2703</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2789" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2789', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{}g'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2704"></a><tt class="py-lineno">2704</tt>  <tt class="py-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="L2705"></a><tt class="py-lineno">2705</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2706"></a><tt class="py-lineno">2706</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2790" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2790', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_local_name"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_local_name-def"><a name="L2708"></a><tt class="py-lineno">2708</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_local_name-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_local_name');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_local_name">test_getiterator_filter_local_name</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getiterator_filter_local_name-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_local_name-expanded"><a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line">        <tt id="link-2791" 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-2789', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2790" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2791', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2792" 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-2790', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2791" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2792', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2793" 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-2791', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2707"></a><tt class="py-lineno">2707</tt>  <tt class="py-line">        <tt id="link-2792" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2792', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2793" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2793', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">        <tt id="link-2794" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2794', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2795" 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-2793', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2794" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2794', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2708"></a><tt class="py-lineno">2708</tt>  <tt class="py-line"> </tt>
-<a name="L2709"></a><tt class="py-lineno">2709</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2795" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2795', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2796" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2796', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line"> </tt>
+<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2797" 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-2795', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{a}a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2710"></a><tt class="py-lineno">2710</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2796" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2796', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsA}b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2711"></a><tt class="py-lineno">2711</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2797" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2797', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsB}b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2712"></a><tt class="py-lineno">2712</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2798" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2798', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2799" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2799', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsA}e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2800" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2800', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsB}e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-2801" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2801', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line"> </tt>
-<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-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="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2719"></a><tt class="py-lineno">2719</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2802" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2802', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{*}b'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2797', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{a}a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2713"></a><tt class="py-lineno">2713</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2798" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2798', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsA}b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2714"></a><tt class="py-lineno">2714</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2799" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2799', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsB}b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2715"></a><tt class="py-lineno">2715</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-2800" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2800', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2716"></a><tt class="py-lineno">2716</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-2801" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2801', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsA}e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2717"></a><tt class="py-lineno">2717</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-2802" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2802', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'{nsB}e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2718"></a><tt class="py-lineno">2718</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-2803" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2803', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2719"></a><tt class="py-lineno">2719</tt>  <tt class="py-line"> </tt>
 <a name="L2720"></a><tt class="py-lineno">2720</tt>  <tt class="py-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="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2803" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2803', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{*}e'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2721"></a><tt class="py-lineno">2721</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2722"></a><tt class="py-lineno">2722</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2804" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2804', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{*}b'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2723"></a><tt class="py-lineno">2723</tt>  <tt class="py-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="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2804" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2804', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{*}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_entities"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_entities-def"><a name="L2727"></a><tt class="py-lineno">2727</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_entities-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_entities');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_entities">test_getiterator_filter_entities</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_getiterator_filter_entities-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_entities-expanded"><a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">        <tt id="link-2805" class="py-name"><a title="lxml.etree.Element
+<a name="L2724"></a><tt class="py-lineno">2724</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2725"></a><tt class="py-lineno">2725</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2805" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2805', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{*}e'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2726"></a><tt class="py-lineno">2726</tt>  <tt class="py-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="L2727"></a><tt class="py-lineno">2727</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2728"></a><tt class="py-lineno">2728</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2806" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2806', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'{*}*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_entities"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_entities-def"><a name="L2730"></a><tt class="py-lineno">2730</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_entities-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_entities');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_entities">test_getiterator_filter_entities</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_getiterator_filter_entities-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_entities-expanded"><a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line">        <tt id="link-2807" 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-2805', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2806" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2807', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2808" 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-2806', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2807" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2808', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2809" 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-2807', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2729"></a><tt class="py-lineno">2729</tt>  <tt class="py-line">        <tt id="link-2808" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2808', 'Entity', 'link-1480');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2809" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2809', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">        <tt id="link-2810" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2810', 'Entity', 'link-1482');">Entity</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2811" 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-2809', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2810" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2810', 'Entity', 'link-1480');">Entity</a></tt> </tt>
-<a name="L2730"></a><tt class="py-lineno">2730</tt>  <tt class="py-line">        <tt id="link-2811" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2811', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2812" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2811', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2812" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2812', 'Entity', 'link-1482');">Entity</a></tt> </tt>
+<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line">        <tt id="link-2813" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2813', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2814" 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-2812', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2813" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2813', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2731"></a><tt class="py-lineno">2731</tt>  <tt class="py-line"> </tt>
-<a name="L2732"></a><tt class="py-lineno">2732</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2814" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2814', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2815" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2815', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line"> </tt>
+<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2816" 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-2814', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2733"></a><tt class="py-lineno">2733</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2815" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2815', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2734"></a><tt class="py-lineno">2734</tt>  <tt class="py-line">        <tt class="py-name">entity_b</tt> <tt class="py-op">=</tt> <tt id="link-2816" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2816', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"TEST-b"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2735"></a><tt class="py-lineno">2735</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2817" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2817', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">entity_b</tt><tt class="py-op">)</tt> </tt>
-<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line"> </tt>
-<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-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="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">entity_b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2818" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2818', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2819" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2819', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-line"> </tt>
-<a name="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line">        <tt class="py-name">entity_a</tt> <tt class="py-op">=</tt> <tt id="link-2820" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2820', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"TEST-a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2742"></a><tt class="py-lineno">2742</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2821" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2821', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">entity_a</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2816', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2736"></a><tt class="py-lineno">2736</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2817" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2817', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2737"></a><tt class="py-lineno">2737</tt>  <tt class="py-line">        <tt class="py-name">entity_b</tt> <tt class="py-op">=</tt> <tt id="link-2818" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2818', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"TEST-b"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2738"></a><tt class="py-lineno">2738</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2819" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2819', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">entity_b</tt><tt class="py-op">)</tt> </tt>
+<a name="L2739"></a><tt class="py-lineno">2739</tt>  <tt class="py-line"> </tt>
+<a name="L2740"></a><tt class="py-lineno">2740</tt>  <tt class="py-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="L2741"></a><tt class="py-lineno">2741</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">entity_b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2742"></a><tt class="py-lineno">2742</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2820" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2820', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2821" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2821', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L2743"></a><tt class="py-lineno">2743</tt>  <tt class="py-line"> </tt>
-<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-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="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">entity_b</tt><tt class="py-op">,</tt> <tt class="py-name">entity_a</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2822" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2822', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2823" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2823', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-line"> </tt>
-<a name="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-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="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">entity_b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2824" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2824', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2825" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2825', 'Entity', 'link-1480');">Entity</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_element"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_element-def"><a name="L2752"></a><tt class="py-lineno">2752</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_element">test_getiterator_filter_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="ETreeOnlyTestCase.test_getiterator_filter_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_element-expanded"><a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line">        <tt id="link-2826" class="py-name"><a title="lxml.etree.Element
+<a name="L2744"></a><tt class="py-lineno">2744</tt>  <tt class="py-line">        <tt class="py-name">entity_a</tt> <tt class="py-op">=</tt> <tt id="link-2822" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2822', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">(</tt><tt class="py-string">"TEST-a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2745"></a><tt class="py-lineno">2745</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2823" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2823', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt class="py-name">entity_a</tt><tt class="py-op">)</tt> </tt>
+<a name="L2746"></a><tt class="py-lineno">2746</tt>  <tt class="py-line"> </tt>
+<a name="L2747"></a><tt class="py-lineno">2747</tt>  <tt class="py-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="L2748"></a><tt class="py-lineno">2748</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">entity_b</tt><tt class="py-op">,</tt> <tt class="py-name">entity_a</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2749"></a><tt class="py-lineno">2749</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2824" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2824', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2825" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2825', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2750"></a><tt class="py-lineno">2750</tt>  <tt class="py-line"> </tt>
+<a name="L2751"></a><tt class="py-lineno">2751</tt>  <tt class="py-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="L2752"></a><tt class="py-lineno">2752</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">entity_b</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2753"></a><tt class="py-lineno">2753</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-2826" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2826', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2827" class="py-name"><a title="lxml.etree.Entity" class="py-name" href="#" onclick="return doclink('link-2827', 'Entity', 'link-1482');">Entity</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_element"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_element-def"><a name="L2755"></a><tt class="py-lineno">2755</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_element">test_getiterator_filter_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="ETreeOnlyTestCase.test_getiterator_filter_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_element-expanded"><a name="L2756"></a><tt class="py-lineno">2756</tt>  <tt class="py-line">        <tt id="link-2828" 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-2826', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2827" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2828', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2829" 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-2827', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2828" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2829', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2830" 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-2828', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2754"></a><tt class="py-lineno">2754</tt>  <tt class="py-line">        <tt id="link-2829" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2829', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2830" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2830', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line">        <tt id="link-2831" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2831', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2832" 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-2830', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2831" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2831', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L2755"></a><tt class="py-lineno">2755</tt>  <tt class="py-line">        <tt id="link-2832" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2832', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2833" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2832', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2833" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2833', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line">        <tt id="link-2834" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2834', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2835" 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-2833', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2834" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2834', 'PI', 'link-468');">PI</a></tt> </tt>
-<a name="L2756"></a><tt class="py-lineno">2756</tt>  <tt class="py-line">        <tt id="link-2835" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2835', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2836" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2835', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2836" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2836', 'PI', 'link-479');">PI</a></tt> </tt>
+<a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line">        <tt id="link-2837" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2837', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2838" 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-2836', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2837" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2837', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2757"></a><tt class="py-lineno">2757</tt>  <tt class="py-line"> </tt>
-<a name="L2758"></a><tt class="py-lineno">2758</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2838" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2838', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2839" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2839', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2760"></a><tt class="py-lineno">2760</tt>  <tt class="py-line"> </tt>
+<a name="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2840" 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-2838', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2759"></a><tt class="py-lineno">2759</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2839" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2839', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2760"></a><tt class="py-lineno">2760</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2840" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2840', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt id="link-2841" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2841', 'Comment', 'link-470');">Comment</a></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="L2761"></a><tt class="py-lineno">2761</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2842" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2842', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt id="link-2843" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2843', 'PI', 'link-468');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">"pi"</tt><tt class="py-op">,</tt> <tt class="py-string">"content"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2844" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2844', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line"> </tt>
-<a name="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-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="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2845" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2845', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2846" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2840', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2762"></a><tt class="py-lineno">2762</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2841" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2841', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2763"></a><tt class="py-lineno">2763</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2842" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2842', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt id="link-2843" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2843', 'Comment', 'link-481');">Comment</a></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="L2764"></a><tt class="py-lineno">2764</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2844" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2844', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt id="link-2845" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2845', 'PI', 'link-479');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">"pi"</tt><tt class="py-op">,</tt> <tt class="py-string">"content"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2765"></a><tt class="py-lineno">2765</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2846" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2846', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2766"></a><tt class="py-lineno">2766</tt>  <tt class="py-line"> </tt>
+<a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-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="L2768"></a><tt class="py-lineno">2768</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2847" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2847', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt id="link-2848" 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-2846', 'Element', 'link-64');">Element</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2767"></a><tt class="py-lineno">2767</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-def"><a name="L2768"></a><tt class="py-lineno">2768</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_all_comment_pi">test_getiterator_filter_all_comment_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="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-expanded"><a name="L2769"></a><tt class="py-lineno">2769</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree iterates over everything here</tt> </tt>
-<a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line">        <tt id="link-2847" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2848', 'Element', 'link-64');">Element</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2770"></a><tt class="py-lineno">2770</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi"></a><div id="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-def"><a name="L2771"></a><tt class="py-lineno">2771</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-toggle" onclick="return toggle('ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_getiterator_filter_all_comment_pi">test_getiterator_filter_all_comment_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="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_getiterator_filter_all_comment_pi-expanded"><a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree iterates over everything here</tt> </tt>
+<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line">        <tt id="link-2849" 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-2847', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2848" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2849', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2850" 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-2848', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2849" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2850', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2851" 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-2849', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2771"></a><tt class="py-lineno">2771</tt>  <tt class="py-line">        <tt id="link-2850" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2850', 'Comment', 'link-470');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2851" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2851', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line">        <tt id="link-2852" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2852', 'Comment', 'link-481');">Comment</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2853" 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-2851', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2852" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2852', 'Comment', 'link-470');">Comment</a></tt> </tt>
-<a name="L2772"></a><tt class="py-lineno">2772</tt>  <tt class="py-line">        <tt id="link-2853" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2853', 'PI', 'link-468');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2854" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2853', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2854" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2854', 'Comment', 'link-481');">Comment</a></tt> </tt>
+<a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line">        <tt id="link-2855" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2855', 'PI', 'link-479');">PI</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2856" 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-2854', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2855" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2855', 'PI', 'link-468');">PI</a></tt> </tt>
-<a name="L2773"></a><tt class="py-lineno">2773</tt>  <tt class="py-line">        <tt id="link-2856" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2856', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2857" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2856', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2857" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2857', 'PI', 'link-479');">PI</a></tt> </tt>
+<a name="L2776"></a><tt class="py-lineno">2776</tt>  <tt class="py-line">        <tt id="link-2858" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2858', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2859" 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-2857', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2858" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2858', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2774"></a><tt class="py-lineno">2774</tt>  <tt class="py-line"> </tt>
-<a name="L2775"></a><tt class="py-lineno">2775</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2859" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2859', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2860" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2860', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line"> </tt>
+<a name="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-2861" 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-2859', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2776"></a><tt class="py-lineno">2776</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2860" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2860', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2777"></a><tt class="py-lineno">2777</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2861" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2861', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt id="link-2862" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2862', 'Comment', 'link-470');">Comment</a></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="L2778"></a><tt class="py-lineno">2778</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2863" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2863', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt id="link-2864" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2864', 'PI', 'link-468');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">"pi"</tt><tt class="py-op">,</tt> <tt class="py-string">"content"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2865" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2865', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line"> </tt>
-<a name="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-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="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2866" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2866', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_elementtree_getelementpath"></a><div id="ETreeOnlyTestCase.test_elementtree_getelementpath-def"><a name="L2785"></a><tt class="py-lineno">2785</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_getelementpath-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_getelementpath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath">test_elementtree_getelementpath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_elementtree_getelementpath-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_getelementpath-expanded"><a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line">        <tt class="py-name">a</tt>  <tt class="py-op">=</tt> <tt id="link-2867" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2861', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2779"></a><tt class="py-lineno">2779</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-2862" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2862', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2780"></a><tt class="py-lineno">2780</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2863" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2863', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt id="link-2864" class="py-name"><a title="lxml.etree.Comment" class="py-name" href="#" onclick="return doclink('link-2864', 'Comment', 'link-481');">Comment</a></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="L2781"></a><tt class="py-lineno">2781</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2865" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-2865', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt id="link-2866" class="py-name"><a title="lxml.etree.PI" class="py-name" href="#" onclick="return doclink('link-2866', 'PI', 'link-479');">PI</a></tt><tt class="py-op">(</tt><tt class="py-string">"pi"</tt><tt class="py-op">,</tt> <tt class="py-string">"content"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2782"></a><tt class="py-lineno">2782</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-2867" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2867', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2783"></a><tt class="py-lineno">2783</tt>  <tt class="py-line"> </tt>
+<a name="L2784"></a><tt class="py-lineno">2784</tt>  <tt class="py-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="L2785"></a><tt class="py-lineno">2785</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2786"></a><tt class="py-lineno">2786</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-2868" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-2868', 'getiterator', 'link-1301');">getiterator</a></tt><tt class="py-op">(</tt><tt class="py-string">'*'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_elementtree_getelementpath"></a><div id="ETreeOnlyTestCase.test_elementtree_getelementpath-def"><a name="L2788"></a><tt class="py-lineno">2788</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_getelementpath-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_getelementpath');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath">test_elementtree_getelementpath</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_elementtree_getelementpath-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_getelementpath-expanded"><a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">        <tt class="py-name">a</tt>  <tt class="py-op">=</tt> <tt id="link-2869" 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-2867', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2868" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2869', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2870" 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-2868', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2787"></a><tt class="py-lineno">2787</tt>  <tt class="py-line">        <tt class="py-name">b</tt>  <tt class="py-op">=</tt> <tt id="link-2869" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2870', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">        <tt class="py-name">b</tt>  <tt class="py-op">=</tt> <tt id="link-2871" 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-2869', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2870" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2870', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"b"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2788"></a><tt class="py-lineno">2788</tt>  <tt class="py-line">        <tt class="py-name">c</tt>  <tt class="py-op">=</tt> <tt id="link-2871" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2871', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2872" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2872', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"b"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">        <tt class="py-name">c</tt>  <tt class="py-op">=</tt> <tt id="link-2873" 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-2871', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2872" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2872', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"c"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2789"></a><tt class="py-lineno">2789</tt>  <tt class="py-line">        <tt class="py-name">d1</tt> <tt class="py-op">=</tt> <tt id="link-2873" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2873', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2874" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2874', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"c"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line">        <tt class="py-name">d1</tt> <tt class="py-op">=</tt> <tt id="link-2875" 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-2873', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2874" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2874', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2790"></a><tt class="py-lineno">2790</tt>  <tt class="py-line">        <tt class="py-name">d2</tt> <tt class="py-op">=</tt> <tt id="link-2875" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2875', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2876" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2876', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">        <tt class="py-name">d2</tt> <tt class="py-op">=</tt> <tt id="link-2877" 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-2875', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2876" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2876', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2791"></a><tt class="py-lineno">2791</tt>  <tt class="py-line">        <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2877" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2877', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2878" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2878', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">        <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-2879" 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-2877', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d1</tt><tt class="py-op">.</tt><tt id="link-2878" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2879', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-name">d1</tt><tt class="py-op">.</tt><tt id="link-2880" 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-2878', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'TEXT'</tt> </tt>
-<a name="L2792"></a><tt class="py-lineno">2792</tt>  <tt class="py-line"> </tt>
-<a name="L2793"></a><tt class="py-lineno">2793</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2879" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-2880', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'TEXT'</tt> </tt>
+<a name="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line"> </tt>
+<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2881" 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-2879', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2880" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2881', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2882" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2880', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L2794"></a><tt class="py-lineno">2794</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2881" class="py-name" targets="Method lxml.etree._ElementTree.getelementpath()=lxml.etree._ElementTree-class.html#getelementpath"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2881', 'getelementpath', 'link-2881');">getelementpath</a></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="L2795"></a><tt class="py-lineno">2795</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'c/d[1]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2882" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2882', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2796"></a><tt class="py-lineno">2796</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'c/d[2]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2883" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2883', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line"> </tt>
-<a name="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">        <tt 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">d1</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2884" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2882', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L2797"></a><tt class="py-lineno">2797</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2883" class="py-name" targets="Method lxml.etree._ElementTree.getelementpath()=lxml.etree._ElementTree-class.html#getelementpath"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2883', 'getelementpath', 'link-2883');">getelementpath</a></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="L2798"></a><tt class="py-lineno">2798</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'c/d[1]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2884" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2884', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'c/d[2]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2885" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2885', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line"> </tt>
+<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">        <tt 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">d1</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2886" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2884', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2885" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2885', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2799"></a><tt class="py-lineno">2799</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2886" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2886', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2887" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2887', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2888" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2886', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2887" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2887', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2800"></a><tt class="py-lineno">2800</tt>  <tt class="py-line"> </tt>
-<a name="L2801"></a><tt class="py-lineno">2801</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2888" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2888', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2889" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2889', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line"> </tt>
+<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2890" 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-2888', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2889" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2890', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2891" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2889', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
-<a name="L2802"></a><tt class="py-lineno">2802</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2890" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2890', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2803"></a><tt class="py-lineno">2803</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'d[2]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2891" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2891', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2804"></a><tt class="py-lineno">2804</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2892" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2891', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
+<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2892" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2892', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'d[2]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2893" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2893', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2894" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2892', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2893" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2893', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2805"></a><tt class="py-lineno">2805</tt>  <tt class="py-line"> </tt>
-<a name="L2806"></a><tt class="py-lineno">2806</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2894" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2894', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2895" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2895', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2808"></a><tt class="py-lineno">2808</tt>  <tt class="py-line"> </tt>
+<a name="L2809"></a><tt class="py-lineno">2809</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2896" 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-2894', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2895" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2896', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2897" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2895', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt>  <tt class="py-comment"># not a parent of a/c/d1/d2</tt> </tt>
-<a name="L2807"></a><tt class="py-lineno">2807</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2896" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2896', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2808"></a><tt class="py-lineno">2808</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">tree</tt><tt class="py-op">.</tt><tt id="link-2897" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2897', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L2809"></a><tt class="py-lineno">2809</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">tree</tt><tt class="py-op">.</tt><tt id="link-2898" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2898', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
-<a name="L2810"></a><tt class="py-lineno">2810</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">tree</tt><tt class="py-op">.</tt><tt id="link-2899" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2899', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">d2</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2811"></a><tt class="py-lineno">2811</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_elementtree_getelementpath_ns"></a><div id="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-def"><a name="L2812"></a><tt class="py-lineno">2812</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_getelementpath_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath_ns">test_elementtree_getelementpath_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="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-expanded"><a name="L2813"></a><tt class="py-lineno">2813</tt>  <tt class="py-line">        <tt class="py-name">a</tt>  <tt class="py-op">=</tt> <tt id="link-2900" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2897', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt>  <tt class="py-comment"># not a parent of a/c/d1/d2</tt> </tt>
+<a name="L2810"></a><tt class="py-lineno">2810</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2898" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2898', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2811"></a><tt class="py-lineno">2811</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">tree</tt><tt class="py-op">.</tt><tt id="link-2899" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2899', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L2812"></a><tt class="py-lineno">2812</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">tree</tt><tt class="py-op">.</tt><tt id="link-2900" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2900', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
+<a name="L2813"></a><tt class="py-lineno">2813</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">tree</tt><tt class="py-op">.</tt><tt id="link-2901" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2901', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">d2</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_elementtree_getelementpath_ns"></a><div id="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-def"><a name="L2815"></a><tt class="py-lineno">2815</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_getelementpath_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_getelementpath_ns">test_elementtree_getelementpath_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="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_getelementpath_ns-expanded"><a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line">        <tt class="py-name">a</tt>  <tt class="py-op">=</tt> <tt id="link-2902" 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-2900', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2901" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2902', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2903" 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-2901', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{http://ns1/}a"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2814"></a><tt class="py-lineno">2814</tt>  <tt class="py-line">        <tt class="py-name">b</tt>  <tt class="py-op">=</tt> <tt id="link-2902" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-2903', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"{http://ns1/}a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line">        <tt class="py-name">b</tt>  <tt class="py-op">=</tt> <tt id="link-2904" 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-2902', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2903" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2903', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}b"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2815"></a><tt class="py-lineno">2815</tt>  <tt class="py-line">        <tt class="py-name">c</tt>  <tt class="py-op">=</tt> <tt id="link-2904" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2904', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2905" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2905', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}b"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line">        <tt class="py-name">c</tt>  <tt class="py-op">=</tt> <tt id="link-2906" 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-2904', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2905" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2905', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}c"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2816"></a><tt class="py-lineno">2816</tt>  <tt class="py-line">        <tt class="py-name">d1</tt> <tt class="py-op">=</tt> <tt id="link-2906" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2906', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2907" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2907', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}c"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line">        <tt class="py-name">d1</tt> <tt class="py-op">=</tt> <tt id="link-2908" 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-2906', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2907" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2907', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}d"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2817"></a><tt class="py-lineno">2817</tt>  <tt class="py-line">        <tt class="py-name">d2</tt> <tt class="py-op">=</tt> <tt id="link-2908" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2908', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2909" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2909', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line">        <tt class="py-name">d2</tt> <tt class="py-op">=</tt> <tt id="link-2910" 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-2908', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2909" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2909', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns2/}d"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2818"></a><tt class="py-lineno">2818</tt>  <tt class="py-line">        <tt class="py-name">d3</tt> <tt class="py-op">=</tt> <tt id="link-2910" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2910', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2911" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2911', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns2/}d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">        <tt class="py-name">d3</tt> <tt class="py-op">=</tt> <tt id="link-2912" 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-2910', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2911" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2911', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}d"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2819"></a><tt class="py-lineno">2819</tt>  <tt class="py-line"> </tt>
-<a name="L2820"></a><tt class="py-lineno">2820</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2912" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2912', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2913" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-2913', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">"{http://ns1/}d"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line"> </tt>
+<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2914" 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-2912', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2913" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2914', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2915" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2913', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L2821"></a><tt class="py-lineno">2821</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2914" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2914', 'getelementpath', 'link-2881');">getelementpath</a></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="L2822"></a><tt class="py-lineno">2822</tt>  <tt class="py-line">        <tt class="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://ns1/}c/{http://ns1/}d[1]'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2823"></a><tt class="py-lineno">2823</tt>  <tt class="py-line">                         <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2915" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2915', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">        <tt class="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://ns1/}c/{http://ns2/}d'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">                         <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2916" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2916', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">        <tt class="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://ns1/}c/{http://ns1/}d[2]'</tt><tt class="py-op">,</tt> </tt>
-<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">                         <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2917" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2917', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line"> </tt>
-<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">        <tt 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">a</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2918" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2915', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L2824"></a><tt class="py-lineno">2824</tt>  <tt class="py-line">        <tt class="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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2916" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2916', 'getelementpath', 'link-2883');">getelementpath</a></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="L2825"></a><tt class="py-lineno">2825</tt>  <tt class="py-line">        <tt class="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://ns1/}c/{http://ns1/}d[1]'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2826"></a><tt class="py-lineno">2826</tt>  <tt class="py-line">                         <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2917" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2917', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2827"></a><tt class="py-lineno">2827</tt>  <tt class="py-line">        <tt class="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://ns1/}c/{http://ns2/}d'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2828"></a><tt class="py-lineno">2828</tt>  <tt class="py-line">                         <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2918" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2918', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2829"></a><tt class="py-lineno">2829</tt>  <tt class="py-line">        <tt class="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://ns1/}c/{http://ns1/}d[2]'</tt><tt class="py-op">,</tt> </tt>
+<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">                         <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2919" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2919', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line"> </tt>
+<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">        <tt 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">a</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2920" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2918', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2919" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2919', 'getelementpath', 'link-2881');">getelementpath</a></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-op">)</tt> </tt>
-<a name="L2830"></a><tt class="py-lineno">2830</tt>  <tt class="py-line">        <tt 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">b</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2920" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2920', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2921" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2921', 'getelementpath', 'link-2883');">getelementpath</a></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-op">)</tt> </tt>
+<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">        <tt 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">b</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2922" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2920', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2921" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2921', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2831"></a><tt class="py-lineno">2831</tt>  <tt class="py-line">        <tt 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">c</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2922" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2922', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2923" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2923', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">        <tt 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">c</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2924" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2922', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2923" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2923', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2832"></a><tt class="py-lineno">2832</tt>  <tt class="py-line">        <tt 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">d1</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2924" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2924', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2925" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2925', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line">        <tt 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">d1</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2926" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2924', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2925" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2925', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2833"></a><tt class="py-lineno">2833</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2926" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2926', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2927" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2927', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2928" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2926', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2927" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2927', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2834"></a><tt class="py-lineno">2834</tt>  <tt class="py-line">        <tt 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">d3</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2928" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2928', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2929" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2929', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">        <tt 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">d3</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2930" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2928', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2929" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2929', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2835"></a><tt class="py-lineno">2835</tt>  <tt class="py-line"> </tt>
-<a name="L2836"></a><tt class="py-lineno">2836</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2930" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2930', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2931" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2931', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line"> </tt>
+<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2932" 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-2930', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2931" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2932', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2933" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2931', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
-<a name="L2837"></a><tt class="py-lineno">2837</tt>  <tt class="py-line">        <tt class="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://ns1/}d[1]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2932" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2932', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2838"></a><tt class="py-lineno">2838</tt>  <tt class="py-line">        <tt class="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://ns2/}d'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2933" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2933', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2839"></a><tt class="py-lineno">2839</tt>  <tt class="py-line">        <tt class="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://ns1/}d[2]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2934" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2934', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">        <tt 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">d1</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2935" class="py-name"><a title="lxml.etree._Element.find
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2933', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt> </tt>
+<a name="L2840"></a><tt class="py-lineno">2840</tt>  <tt class="py-line">        <tt class="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://ns1/}d[1]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2934" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2934', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">        <tt class="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://ns2/}d'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2935" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2935', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">        <tt class="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://ns1/}d[2]'</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2936" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2936', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line">        <tt 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">d1</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2937" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2935', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2936" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2936', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2841"></a><tt class="py-lineno">2841</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2937" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2937', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2938" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2938', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2844"></a><tt class="py-lineno">2844</tt>  <tt class="py-line">        <tt 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">d2</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2939" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2937', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2938" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2938', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2842"></a><tt class="py-lineno">2842</tt>  <tt class="py-line">        <tt 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">d3</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2939" class="py-name"><a title="lxml.etree._Element.find
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2939', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2940" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2940', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2845"></a><tt class="py-lineno">2845</tt>  <tt class="py-line">        <tt 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">d3</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2941" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2939', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2940" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2940', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2843"></a><tt class="py-lineno">2843</tt>  <tt class="py-line"> </tt>
-<a name="L2844"></a><tt class="py-lineno">2844</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2941" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2941', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2942" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2942', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">(</tt><tt class="py-name">d3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2846"></a><tt class="py-lineno">2846</tt>  <tt class="py-line"> </tt>
+<a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2943" 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-2941', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2942" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2943', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2944" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2942', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt>  <tt class="py-comment"># not a parent of d1/d2</tt> </tt>
-<a name="L2845"></a><tt class="py-lineno">2845</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">tree</tt><tt class="py-op">.</tt><tt id="link-2943" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2943', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">d1</tt><tt class="py-op">)</tt> </tt>
-<a name="L2846"></a><tt class="py-lineno">2846</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">tree</tt><tt class="py-op">.</tt><tt id="link-2944" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2944', 'getelementpath', 'link-2881');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">d2</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2847"></a><tt class="py-lineno">2847</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_elementtree_find_qname"></a><div id="ETreeOnlyTestCase.test_elementtree_find_qname-def"><a name="L2848"></a><tt class="py-lineno">2848</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_find_qname-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_find_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_find_qname">test_elementtree_find_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_elementtree_find_qname-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_find_qname-expanded"><a name="L2849"></a><tt class="py-lineno">2849</tt>  <tt class="py-line">        <tt id="link-2945" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2944', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt>  <tt class="py-comment"># not a parent of d1/d2</tt> </tt>
+<a name="L2848"></a><tt class="py-lineno">2848</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">tree</tt><tt class="py-op">.</tt><tt id="link-2945" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2945', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">d1</tt><tt class="py-op">)</tt> </tt>
+<a name="L2849"></a><tt class="py-lineno">2849</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">tree</tt><tt class="py-op">.</tt><tt id="link-2946" class="py-name"><a title="lxml.etree._ElementTree.getelementpath" class="py-name" href="#" onclick="return doclink('link-2946', 'getelementpath', 'link-2883');">getelementpath</a></tt><tt class="py-op">,</tt> <tt class="py-name">d2</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_elementtree_find_qname"></a><div id="ETreeOnlyTestCase.test_elementtree_find_qname-def"><a name="L2851"></a><tt class="py-lineno">2851</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_find_qname-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_find_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_find_qname">test_elementtree_find_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_elementtree_find_qname-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_find_qname-expanded"><a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line">        <tt id="link-2947" 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-2945', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2946" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2947', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2948" 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-2946', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2947" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2948', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2949" 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-2947', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2850"></a><tt class="py-lineno">2850</tt>  <tt class="py-line">        <tt id="link-2948" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2949', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2853"></a><tt class="py-lineno">2853</tt>  <tt class="py-line">        <tt id="link-2950" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2948', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2949" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2950', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2951" 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-2949', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2950" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2951', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2952" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2950', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L2851"></a><tt class="py-lineno">2851</tt>  <tt class="py-line">        <tt id="link-2951" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2951', 'QName', 'link-152');">QName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2952" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2952', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line">        <tt id="link-2953" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2953', 'QName', 'link-152');">QName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2954" 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-2952', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2953" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2953', 'QName', 'link-152');">QName</a></tt> </tt>
-<a name="L2852"></a><tt class="py-lineno">2852</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2954" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2954', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2955" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2955', 'QName', 'link-152');">QName</a></tt> </tt>
+<a name="L2855"></a><tt class="py-lineno">2855</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2956" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2954', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-2955" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2956', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-2957" 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-2955', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2956" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2956', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;b/&gt;&lt;c&gt;&lt;b/&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2853"></a><tt class="py-lineno">2853</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-2957" class="py-name"><a title="lxml.etree._Element.find
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2957', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2958" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2958', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;b/&gt;&lt;c&gt;&lt;b/&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-2959" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2957', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt id="link-2958" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2958', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"c"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2959" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2959', 'getroot', 'link-752');">getroot</a></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 class="py-op">)</tt> </tt>
-</div><a name="L2854"></a><tt class="py-lineno">2854</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_elementtree_findall_qname"></a><div id="ETreeOnlyTestCase.test_elementtree_findall_qname-def"><a name="L2855"></a><tt class="py-lineno">2855</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_findall_qname-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_findall_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_qname">test_elementtree_findall_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_elementtree_findall_qname-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_findall_qname-expanded"><a name="L2856"></a><tt class="py-lineno">2856</tt>  <tt class="py-line">        <tt id="link-2960" class="py-name"><a title="lxml.etree.XML
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-2959', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt id="link-2960" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2960', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"c"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2961" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-2961', 'getroot', 'link-763');">getroot</a></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 class="py-op">)</tt> </tt>
+</div><a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_elementtree_findall_qname"></a><div id="ETreeOnlyTestCase.test_elementtree_findall_qname-def"><a name="L2858"></a><tt class="py-lineno">2858</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_findall_qname-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_findall_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_qname">test_elementtree_findall_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_elementtree_findall_qname-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_findall_qname-expanded"><a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">        <tt id="link-2962" 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-2960', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2961" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2962', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2963" 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-2961', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2962" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2963', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2964" 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-2962', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2857"></a><tt class="py-lineno">2857</tt>  <tt class="py-line">        <tt id="link-2963" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2964', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">        <tt id="link-2965" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2963', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2964" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2965', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2966" 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-2964', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2965" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2966', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2967" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2965', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L2858"></a><tt class="py-lineno">2858</tt>  <tt class="py-line">        <tt id="link-2966" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2966', 'QName', 'link-152');">QName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2967" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2967', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line">        <tt id="link-2968" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2968', 'QName', 'link-152');">QName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2969" 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-2967', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2968" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2968', 'QName', 'link-152');">QName</a></tt> </tt>
-<a name="L2859"></a><tt class="py-lineno">2859</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2969" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2969', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2970" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2970', 'QName', 'link-152');">QName</a></tt> </tt>
+<a name="L2862"></a><tt class="py-lineno">2862</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2971" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2969', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-2970" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2971', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-2972" 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-2970', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2971" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2971', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;b/&gt;&lt;c&gt;&lt;b/&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2860"></a><tt class="py-lineno">2860</tt>  <tt class="py-line">        <tt 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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2972" class="py-name" targets="Method lxml.etree._Element.findall()=lxml.etree._Element-class.html#findall,Method lxml.etree._ElementTree.findall()=lxml.etree._ElementTree-class.html#findall"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2972', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt id="link-2973" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2973', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"c"</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 class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2861"></a><tt class="py-lineno">2861</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_elementtree_findall_ns_qname"></a><div id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-def"><a name="L2862"></a><tt class="py-lineno">2862</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_findall_ns_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_ns_qname">test_elementtree_findall_ns_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-expanded"><a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">        <tt id="link-2974" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2972', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2973" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2973', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;b/&gt;&lt;c&gt;&lt;b/&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2863"></a><tt class="py-lineno">2863</tt>  <tt class="py-line">        <tt 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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2974" class="py-name" targets="Method lxml.etree._Element.findall()=lxml.etree._Element-class.html#findall,Method lxml.etree._ElementTree.findall()=lxml.etree._ElementTree-class.html#findall"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2974', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt id="link-2975" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2975', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"c"</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 class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_elementtree_findall_ns_qname"></a><div id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-def"><a name="L2865"></a><tt class="py-lineno">2865</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-toggle" onclick="return toggle('ETreeOnlyTestCase.test_elementtree_findall_ns_qname');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_elementtree_findall_ns_qname">test_elementtree_findall_ns_qname</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_elementtree_findall_ns_qname-expanded"><a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">        <tt id="link-2976" 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-2974', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2975" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2976', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2977" 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-2975', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2976" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2977', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2978" 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-2976', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2864"></a><tt class="py-lineno">2864</tt>  <tt class="py-line">        <tt id="link-2977" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2978', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">        <tt id="link-2979" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2977', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2978" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2979', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2980" 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-2978', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2979" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2980', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2981" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2979', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L2865"></a><tt class="py-lineno">2865</tt>  <tt class="py-line">        <tt id="link-2980" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2980', 'QName', 'link-152');">QName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2981" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2981', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line">        <tt id="link-2982" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2982', 'QName', 'link-152');">QName</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2983" 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-2981', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2982" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2982', 'QName', 'link-152');">QName</a></tt> </tt>
-<a name="L2866"></a><tt class="py-lineno">2866</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2983" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2983', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2984" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2984', 'QName', 'link-152');">QName</a></tt> </tt>
+<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-2985" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2983', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-2984" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-2985', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-2986" 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-2984', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L2867"></a><tt class="py-lineno">2867</tt>  <tt class="py-line">                <tt id="link-2985" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2985', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2868"></a><tt class="py-lineno">2868</tt>  <tt class="py-line">        <tt 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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2986" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2986', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt id="link-2987" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2987', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"b"</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 class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L2869"></a><tt class="py-lineno">2869</tt>  <tt class="py-line">        <tt 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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2988" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2988', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt id="link-2989" class="py-name"><a title="lxml.etree.QName
-xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2989', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"X"</tt><tt class="py-op">,</tt> <tt class="py-string">"b"</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 class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_findall_ns"></a><div id="ETreeOnlyTestCase.test_findall_ns-def"><a name="L2871"></a><tt class="py-lineno">2871</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_ns">test_findall_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="ETreeOnlyTestCase.test_findall_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_ns-expanded"><a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">        <tt id="link-2990" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2986', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L2870"></a><tt class="py-lineno">2870</tt>  <tt class="py-line">                <tt id="link-2987" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2987', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2871"></a><tt class="py-lineno">2871</tt>  <tt class="py-line">        <tt 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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2988" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2988', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt id="link-2989" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2989', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"b"</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 class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2872"></a><tt class="py-lineno">2872</tt>  <tt class="py-line">        <tt 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 class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-2990" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2990', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt id="link-2991" class="py-name"><a title="lxml.etree.QName
+xml.etree.ElementTree.QName" class="py-name" href="#" onclick="return doclink('link-2991', 'QName', 'link-152');">QName</a></tt><tt class="py-op">(</tt><tt class="py-string">"X"</tt><tt class="py-op">,</tt> <tt class="py-string">"b"</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 class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_findall_ns"></a><div id="ETreeOnlyTestCase.test_findall_ns-def"><a name="L2874"></a><tt class="py-lineno">2874</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_ns-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_ns">test_findall_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="ETreeOnlyTestCase.test_findall_ns-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_ns-expanded"><a name="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">        <tt id="link-2992" 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-2990', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2991" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2992', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-2993" 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-2991', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2992" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-2993', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-2994" 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-2992', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2873"></a><tt class="py-lineno">2873</tt>  <tt class="py-line">        <tt id="link-2993" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2993', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2994" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2994', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">        <tt id="link-2995" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2995', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-2996" 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-2994', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2995" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2995', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2874"></a><tt class="py-lineno">2874</tt>  <tt class="py-line">        <tt 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-2996" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2996', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2997" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2997', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//{X}b"</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="L2875"></a><tt class="py-lineno">2875</tt>  <tt class="py-line">        <tt 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-2998" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2998', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2999" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2999', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//{X}*"</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="L2876"></a><tt class="py-lineno">2876</tt>  <tt class="py-line">        <tt 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-3000" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3000', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3001" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3001', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</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>
-</div><a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_findall_different_nsmaps"></a><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-def"><a name="L2878"></a><tt class="py-lineno">2878</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_different_nsmaps-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_different_nsmaps');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_different_nsmaps">test_findall_different_nsmaps</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-expanded"><a name="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line">        <tt id="link-3002" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-2996', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-2997" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-2997', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2877"></a><tt class="py-lineno">2877</tt>  <tt class="py-line">        <tt 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-2998" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-2998', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-2999" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-2999', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//{X}b"</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="L2878"></a><tt class="py-lineno">2878</tt>  <tt class="py-line">        <tt 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-3000" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3000', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3001" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3001', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//{X}*"</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="L2879"></a><tt class="py-lineno">2879</tt>  <tt class="py-line">        <tt 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-3002" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3002', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3003" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3003', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</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>
+</div><a name="L2880"></a><tt class="py-lineno">2880</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_findall_different_nsmaps"></a><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-def"><a name="L2881"></a><tt class="py-lineno">2881</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_different_nsmaps-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_different_nsmaps');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_different_nsmaps">test_findall_different_nsmaps</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-expanded"><a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line">        <tt id="link-3004" 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-3002', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3003" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3004', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3005" 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-3003', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3004" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3005', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3006" 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-3004', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2880"></a><tt class="py-lineno">2880</tt>  <tt class="py-line">        <tt id="link-3005" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3005', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3006" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3006', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line">        <tt id="link-3007" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3007', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3008" 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-3006', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3007" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3007', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;y:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2881"></a><tt class="py-lineno">2881</tt>  <tt class="py-line">        <tt id="link-3008" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3008', 'nsmap', 'link-186');">nsmap</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'xx'</tt><tt class="py-op">:</tt> <tt class="py-string">'X'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2882"></a><tt class="py-lineno">2882</tt>  <tt class="py-line">        <tt 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-3009" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3009', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3010" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3010', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3011" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3011', 'nsmap', 'link-186');">nsmap</a></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="L2883"></a><tt class="py-lineno">2883</tt>  <tt class="py-line">        <tt 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-3012" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3012', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3013" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3013', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:*"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3014" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3014', 'nsmap', 'link-186');">nsmap</a></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="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line">        <tt 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-3015" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3015', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3016" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3016', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3017" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3017', 'nsmap', 'link-186');">nsmap</a></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="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">        <tt id="link-3018" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3018', 'nsmap', 'link-186');">nsmap</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'xx'</tt><tt class="py-op">:</tt> <tt class="py-string">'Y'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">        <tt 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-3019" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3019', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3020" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3020', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3021" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3021', 'nsmap', 'link-186');">nsmap</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="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">        <tt 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-3022" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3022', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3023" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3023', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:*"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3024" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3024', 'nsmap', 'link-186');">nsmap</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="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">        <tt 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-3025" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3025', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3026" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3026', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3027" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3027', 'nsmap', 'link-186');">nsmap</a></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>
-</div><a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_findall_different_nsmaps"></a><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-def"><a name="L2890"></a><tt class="py-lineno">2890</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_different_nsmaps-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_different_nsmaps');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_different_nsmaps">test_findall_different_nsmaps</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_different_nsmaps-expanded"><a name="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line">        <tt id="link-3028" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3008', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3009" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3009', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;y:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2884"></a><tt class="py-lineno">2884</tt>  <tt class="py-line">        <tt id="link-3010" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3010', 'nsmap', 'link-186');">nsmap</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'xx'</tt><tt class="py-op">:</tt> <tt class="py-string">'X'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2885"></a><tt class="py-lineno">2885</tt>  <tt class="py-line">        <tt 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-3011" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3011', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3012" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3012', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3013" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3013', 'nsmap', 'link-186');">nsmap</a></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="L2886"></a><tt class="py-lineno">2886</tt>  <tt class="py-line">        <tt 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-3014" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3014', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3015" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3015', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:*"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3016" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3016', 'nsmap', 'link-186');">nsmap</a></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="L2887"></a><tt class="py-lineno">2887</tt>  <tt class="py-line">        <tt 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-3017" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3017', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3018" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3018', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3019" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3019', 'nsmap', 'link-186');">nsmap</a></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="L2888"></a><tt class="py-lineno">2888</tt>  <tt class="py-line">        <tt id="link-3020" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3020', 'nsmap', 'link-186');">nsmap</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'xx'</tt><tt class="py-op">:</tt> <tt class="py-string">'Y'</tt><tt class="py-op">}</tt> </tt>
+<a name="L2889"></a><tt class="py-lineno">2889</tt>  <tt class="py-line">        <tt 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-3021" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3021', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3022" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3022', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3023" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3023', 'nsmap', 'link-186');">nsmap</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="L2890"></a><tt class="py-lineno">2890</tt>  <tt class="py-line">        <tt 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-3024" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3024', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3025" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3025', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:*"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3026" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3026', 'nsmap', 'link-186');">nsmap</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="L2891"></a><tt class="py-lineno">2891</tt>  <tt class="py-line">        <tt 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-3027" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3027', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3028" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3028', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3029" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3029', 'nsmap', 'link-186');">nsmap</a></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>
+</div><a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_findall_syntax_error"></a><div id="ETreeOnlyTestCase.test_findall_syntax_error-def"><a name="L2893"></a><tt class="py-lineno">2893</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_syntax_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_syntax_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_syntax_error">test_findall_syntax_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="ETreeOnlyTestCase.test_findall_syntax_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_syntax_error-expanded"><a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">        <tt id="link-3030" 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-3028', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3029" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3030', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3031" 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-3029', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3030" 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-3030', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2892"></a><tt class="py-lineno">2892</tt>  <tt class="py-line">        <tt id="link-3031" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3031', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3032" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3031', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3032" 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-3032', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3033" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3033', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="X" xmlns:y="Y"&gt;&lt;x:b&gt;&lt;c/&gt;&lt;/x:b&gt;&lt;b/&gt;&lt;c&gt;&lt;x:b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;y:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2893"></a><tt class="py-lineno">2893</tt>  <tt class="py-line">        <tt id="link-3034" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3034', 'nsmap', 'link-186');">nsmap</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'xx'</tt><tt class="py-op">:</tt> <tt class="py-string">'X'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2894"></a><tt class="py-lineno">2894</tt>  <tt class="py-line">        <tt 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-3035" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3035', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3036" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3036', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3037" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3037', 'nsmap', 'link-186');">nsmap</a></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="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">        <tt 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-3038" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3038', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3039" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3039', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:*"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3040" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3040', 'nsmap', 'link-186');">nsmap</a></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="L2896"></a><tt class="py-lineno">2896</tt>  <tt class="py-line">        <tt 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-3041" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3041', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3042" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3042', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3043" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3043', 'nsmap', 'link-186');">nsmap</a></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="L2897"></a><tt class="py-lineno">2897</tt>  <tt class="py-line">        <tt id="link-3044" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3044', 'nsmap', 'link-186');">nsmap</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">'xx'</tt><tt class="py-op">:</tt> <tt class="py-string">'Y'</tt><tt class="py-op">}</tt> </tt>
-<a name="L2898"></a><tt class="py-lineno">2898</tt>  <tt class="py-line">        <tt 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-3045" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3045', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3046" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3046', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3047" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3047', 'nsmap', 'link-186');">nsmap</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="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line">        <tt 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-3048" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3048', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3049" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3049', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//xx:*"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3050" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3050', 'nsmap', 'link-186');">nsmap</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="L2900"></a><tt class="py-lineno">2900</tt>  <tt class="py-line">        <tt 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-3051" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3051', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3052" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3052', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">(</tt><tt class="py-string">".//b"</tt><tt class="py-op">,</tt> <tt class="py-name">namespaces</tt><tt class="py-op">=</tt><tt id="link-3053" class="py-name"><a title="lxml.etree._Element.nsmap" class="py-name" href="#" onclick="return doclink('link-3053', 'nsmap', 'link-186');">nsmap</a></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>
-</div><a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_findall_syntax_error"></a><div id="ETreeOnlyTestCase.test_findall_syntax_error-def"><a name="L2902"></a><tt class="py-lineno">2902</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_findall_syntax_error-toggle" onclick="return toggle('ETreeOnlyTestCase.test_findall_syntax_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_findall_syntax_error">test_findall_syntax_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="ETreeOnlyTestCase.test_findall_syntax_error-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_findall_syntax_error-expanded"><a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">        <tt id="link-3054" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3032', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L2895"></a><tt class="py-lineno">2895</tt>  <tt class="py-line">        <tt id="link-3033" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3033', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3034" 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-3054', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3055" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3034', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3035" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3035', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;b/&gt;&lt;c&gt;&lt;b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2896"></a><tt class="py-lineno">2896</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">SyntaxError</tt><tt class="py-op">,</tt> <tt id="link-3036" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3036', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3037" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3037', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+<a name="L2897"></a><tt class="py-lineno">2897</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">SyntaxError</tt><tt class="py-op">,</tt> <tt id="link-3038" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3038', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3039" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3039', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">,</tt> <tt class="py-string">'//'</tt><tt class="py-op">)</tt>  <tt class="py-comment"># absolute path on Element</tt> </tt>
+<a name="L2898"></a><tt class="py-lineno">2898</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">SyntaxError</tt><tt class="py-op">,</tt> <tt id="link-3040" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3040', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3041" class="py-name"><a title="lxml.etree._Element.findall
+lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3041', 'findall', 'link-2974');">findall</a></tt><tt class="py-op">,</tt> <tt class="py-string">'.///'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2899"></a><tt class="py-lineno">2899</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_index"></a><div id="ETreeOnlyTestCase.test_index-def"><a name="L2900"></a><tt class="py-lineno">2900</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_index-toggle" onclick="return toggle('ETreeOnlyTestCase.test_index');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_index">test_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="ETreeOnlyTestCase.test_index-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_index-expanded"><a name="L2901"></a><tt class="py-lineno">2901</tt>  <tt class="py-line">        <tt id="link-3042" 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-3055', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3056" 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-3056', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">        <tt id="link-3057" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3057', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3058" 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-3058', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3059" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3059', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;c/&gt;&lt;/b&gt;&lt;b/&gt;&lt;c&gt;&lt;b/&gt;&lt;b/&gt;&lt;/c&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2905"></a><tt class="py-lineno">2905</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">SyntaxError</tt><tt class="py-op">,</tt> <tt id="link-3060" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3060', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3061" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3061', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-<a name="L2906"></a><tt class="py-lineno">2906</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">SyntaxError</tt><tt class="py-op">,</tt> <tt id="link-3062" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3062', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3063" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3063', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">,</tt> <tt class="py-string">'//'</tt><tt class="py-op">)</tt>  <tt class="py-comment"># absolute path on Element</tt> </tt>
-<a name="L2907"></a><tt class="py-lineno">2907</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">SyntaxError</tt><tt class="py-op">,</tt> <tt id="link-3064" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3064', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3065" class="py-name"><a title="lxml.etree._Element.findall
-lxml.etree._ElementTree.findall" class="py-name" href="#" onclick="return doclink('link-3065', 'findall', 'link-2972');">findall</a></tt><tt class="py-op">,</tt> <tt class="py-string">'.///'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_index"></a><div id="ETreeOnlyTestCase.test_index-def"><a name="L2909"></a><tt class="py-lineno">2909</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_index-toggle" onclick="return toggle('ETreeOnlyTestCase.test_index');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_index">test_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="ETreeOnlyTestCase.test_index-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_index-expanded"><a name="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">        <tt id="link-3066" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3042', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3043" 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-3066', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3067" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3043', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2902"></a><tt class="py-lineno">2902</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3044" 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-3067', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2911"></a><tt class="py-lineno">2911</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3068" 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-3068', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3069" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3044', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3045" 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-3069', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2913"></a><tt class="py-lineno">2913</tt>  <tt class="py-line">            <tt id="link-3070" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3045', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2903"></a><tt class="py-lineno">2903</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2904"></a><tt class="py-lineno">2904</tt>  <tt class="py-line">            <tt id="link-3046" 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-3070', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3071" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3071', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2915"></a><tt class="py-lineno">2915</tt>  <tt class="py-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="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line">                <tt class="py-name">i</tt><tt class="py-op">,</tt> </tt>
-<a name="L2917"></a><tt class="py-lineno">2917</tt>  <tt class="py-line">                <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3072" 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-3072', 'index', 'link-3072');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-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="L2919"></a><tt class="py-lineno">2919</tt>  <tt class="py-line">            <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3073" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3073', 'index', 'link-3072');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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-number">3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2920"></a><tt class="py-lineno">2920</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="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3074" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3074', 'index', 'link-3072');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</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-number">4</tt><tt class="py-op">)</tt> </tt>
-<a name="L2922"></a><tt class="py-lineno">2922</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="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3075" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3075', 'index', 'link-3072');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</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-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
-<a name="L2924"></a><tt class="py-lineno">2924</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="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3076" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3076', 'index', 'link-3072');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</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-number">3</tt><tt class="py-op">)</tt> </tt>
-<a name="L2926"></a><tt class="py-lineno">2926</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="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3077" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3077', 'index', 'link-3072');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">5</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="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-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="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">            <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3078" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3078', 'index', 'link-3072');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</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-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-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="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">            <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3079" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3079', 'index', 'link-3072');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">12</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="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-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="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line">            <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3080" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3080', 'index', 'link-3072');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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">12</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>
-</div><a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_replace"></a><div id="ETreeOnlyTestCase.test_replace-def"><a name="L2935"></a><tt class="py-lineno">2935</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_replace-toggle" onclick="return toggle('ETreeOnlyTestCase.test_replace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace">test_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="ETreeOnlyTestCase.test_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_replace-expanded"><a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">        <tt id="link-3081" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3046', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3047" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3047', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L2905"></a><tt class="py-lineno">2905</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2906"></a><tt class="py-lineno">2906</tt>  <tt class="py-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="L2907"></a><tt class="py-lineno">2907</tt>  <tt class="py-line">                <tt class="py-name">i</tt><tt class="py-op">,</tt> </tt>
+<a name="L2908"></a><tt class="py-lineno">2908</tt>  <tt class="py-line">                <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3048" 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-3048', 'index', 'link-3048');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2909"></a><tt class="py-lineno">2909</tt>  <tt class="py-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="L2910"></a><tt class="py-lineno">2910</tt>  <tt class="py-line">            <tt class="py-number">3</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3049" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3049', 'index', 'link-3048');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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-number">3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2911"></a><tt class="py-lineno">2911</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="L2912"></a><tt class="py-lineno">2912</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3050" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3050', 'index', 'link-3048');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</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-number">4</tt><tt class="py-op">)</tt> </tt>
+<a name="L2913"></a><tt class="py-lineno">2913</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="L2914"></a><tt class="py-lineno">2914</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3051" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3051', 'index', 'link-3048');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</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-number">0</tt><tt class="py-op">,</tt> <tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L2915"></a><tt class="py-lineno">2915</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="L2916"></a><tt class="py-lineno">2916</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3052" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3052', 'index', 'link-3048');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</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-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L2917"></a><tt class="py-lineno">2917</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="L2918"></a><tt class="py-lineno">2918</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3053" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3053', 'index', 'link-3048');">index</a></tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">5</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="L2919"></a><tt class="py-lineno">2919</tt>  <tt class="py-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="L2920"></a><tt class="py-lineno">2920</tt>  <tt class="py-line">            <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3054" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3054', 'index', 'link-3048');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</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-number">1</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2921"></a><tt class="py-lineno">2921</tt>  <tt class="py-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="L2922"></a><tt class="py-lineno">2922</tt>  <tt class="py-line">            <tt class="py-number">8</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3055" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3055', 'index', 'link-3048');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-op">-</tt><tt class="py-number">12</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="L2923"></a><tt class="py-lineno">2923</tt>  <tt class="py-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="L2924"></a><tt class="py-lineno">2924</tt>  <tt class="py-line">            <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3056" class="py-name"><a title="lxml.etree._Element.index" class="py-name" href="#" onclick="return doclink('link-3056', 'index', 'link-3048');">index</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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">12</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>
+</div><a name="L2925"></a><tt class="py-lineno">2925</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_replace"></a><div id="ETreeOnlyTestCase.test_replace-def"><a name="L2926"></a><tt class="py-lineno">2926</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_replace-toggle" onclick="return toggle('ETreeOnlyTestCase.test_replace');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace">test_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="ETreeOnlyTestCase.test_replace-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_replace-expanded"><a name="L2927"></a><tt class="py-lineno">2927</tt>  <tt class="py-line">        <tt id="link-3057" 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-3081', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3082" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3057', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3058" 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-3082', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3083" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3058', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2928"></a><tt class="py-lineno">2928</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3059" 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-3083', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3084" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3059', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3060" 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-3084', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-line">            <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-3085" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3060', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2929"></a><tt class="py-lineno">2929</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2930"></a><tt class="py-lineno">2930</tt>  <tt class="py-line">            <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-3061" 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-3085', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3086" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3086', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">            <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3087" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3061', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3062" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3062', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L2931"></a><tt class="py-lineno">2931</tt>  <tt class="py-line">            <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3063" 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-3087', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"text%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> </tt>
-<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-line">            <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3088" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3088', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"tail%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> </tt>
-<a name="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line"> </tt>
-<a name="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-line">        <tt class="py-name">child0</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
-<a name="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">        <tt class="py-name">child1</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-line">        <tt class="py-name">child2</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
-<a name="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line"> </tt>
-<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3089" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3089', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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">e</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="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-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="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-line">            <tt class="py-number">9</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L2950"></a><tt class="py-lineno">2950</tt>  <tt class="py-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="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-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="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3090" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3063', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"text%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> </tt>
+<a name="L2932"></a><tt class="py-lineno">2932</tt>  <tt class="py-line">            <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3064" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3064', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"tail%d"</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt> </tt>
+<a name="L2933"></a><tt class="py-lineno">2933</tt>  <tt class="py-line"> </tt>
+<a name="L2934"></a><tt class="py-lineno">2934</tt>  <tt class="py-line">        <tt class="py-name">child0</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L2935"></a><tt class="py-lineno">2935</tt>  <tt class="py-line">        <tt class="py-name">child1</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L2936"></a><tt class="py-lineno">2936</tt>  <tt class="py-line">        <tt class="py-name">child2</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L2937"></a><tt class="py-lineno">2937</tt>  <tt class="py-line"> </tt>
+<a name="L2938"></a><tt class="py-lineno">2938</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3065" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3065', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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">e</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="L2939"></a><tt class="py-lineno">2939</tt>  <tt class="py-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="L2940"></a><tt class="py-lineno">2940</tt>  <tt class="py-line">            <tt class="py-number">9</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L2941"></a><tt class="py-lineno">2941</tt>  <tt class="py-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="L2942"></a><tt class="py-lineno">2942</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2943"></a><tt class="py-lineno">2943</tt>  <tt class="py-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="L2944"></a><tt class="py-lineno">2944</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3066" 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-3090', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"text1"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-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="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3091" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3091', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail1"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-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="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-line">            <tt class="py-name">child0</tt><tt class="py-op">.</tt><tt id="link-3092" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3092', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-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="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-line">            <tt class="py-name">child2</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line"> </tt>
-<a name="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3093" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3093', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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-name">e</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="L2962"></a><tt class="py-lineno">2962</tt>  <tt class="py-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="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-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="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3094" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3066', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"text1"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2945"></a><tt class="py-lineno">2945</tt>  <tt class="py-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="L2946"></a><tt class="py-lineno">2946</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3067" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3067', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail1"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2947"></a><tt class="py-lineno">2947</tt>  <tt class="py-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="L2948"></a><tt class="py-lineno">2948</tt>  <tt class="py-line">            <tt class="py-name">child0</tt><tt class="py-op">.</tt><tt id="link-3068" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3068', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2949"></a><tt class="py-lineno">2949</tt>  <tt class="py-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="L2950"></a><tt class="py-lineno">2950</tt>  <tt class="py-line">            <tt class="py-name">child2</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2951"></a><tt class="py-lineno">2951</tt>  <tt class="py-line"> </tt>
+<a name="L2952"></a><tt class="py-lineno">2952</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3069" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3069', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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-name">e</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="L2953"></a><tt class="py-lineno">2953</tt>  <tt class="py-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="L2954"></a><tt class="py-lineno">2954</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2955"></a><tt class="py-lineno">2955</tt>  <tt class="py-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="L2956"></a><tt class="py-lineno">2956</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3070" 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-3094', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"text1"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-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="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3095" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3095', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail1"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-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="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">            <tt class="py-name">child2</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_replace_new"></a><div id="ETreeOnlyTestCase.test_replace_new-def"><a name="L2971"></a><tt class="py-lineno">2971</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_replace_new-toggle" onclick="return toggle('ETreeOnlyTestCase.test_replace_new');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace_new">test_replace_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="ETreeOnlyTestCase.test_replace_new-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_replace_new-expanded"><a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line">        <tt id="link-3096" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3070', 'text', 'link-189');">text</a></tt><tt class="py-op">,</tt> <tt class="py-string">"text1"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2957"></a><tt class="py-lineno">2957</tt>  <tt class="py-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="L2958"></a><tt class="py-lineno">2958</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">.</tt><tt id="link-3071" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3071', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">"tail1"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2959"></a><tt class="py-lineno">2959</tt>  <tt class="py-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="L2960"></a><tt class="py-lineno">2960</tt>  <tt class="py-line">            <tt class="py-name">child2</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2961"></a><tt class="py-lineno">2961</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_replace_new"></a><div id="ETreeOnlyTestCase.test_replace_new-def"><a name="L2962"></a><tt class="py-lineno">2962</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_replace_new-toggle" onclick="return toggle('ETreeOnlyTestCase.test_replace_new');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_replace_new">test_replace_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="ETreeOnlyTestCase.test_replace_new-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_replace_new-expanded"><a name="L2963"></a><tt class="py-lineno">2963</tt>  <tt class="py-line">        <tt id="link-3072" 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-3096', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3097" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3072', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3073" 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-3097', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L2973"></a><tt class="py-lineno">2973</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3098" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3073', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L2964"></a><tt class="py-lineno">2964</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3074" 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-3098', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3099" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3074', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3075" 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-3099', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-line">            <tt id="link-3100" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3075', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'foo'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2965"></a><tt class="py-lineno">2965</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</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="L2966"></a><tt class="py-lineno">2966</tt>  <tt class="py-line">            <tt id="link-3076" 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-3100', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3101" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3101', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
-<a name="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line"> </tt>
-<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line">        <tt class="py-name">new_element</tt> <tt class="py-op">=</tt> <tt id="link-3102" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3076', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3077" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3077', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-string">'a%s'</tt> <tt class="py-op">%</tt> <tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L2967"></a><tt class="py-lineno">2967</tt>  <tt class="py-line"> </tt>
+<a name="L2968"></a><tt class="py-lineno">2968</tt>  <tt class="py-line">        <tt class="py-name">new_element</tt> <tt class="py-op">=</tt> <tt id="link-3078" 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-3102', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3103" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3078', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3079" 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-3103', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-line">        <tt class="py-name">new_element</tt><tt class="py-op">.</tt><tt id="link-3104" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3079', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L2969"></a><tt class="py-lineno">2969</tt>  <tt class="py-line">        <tt class="py-name">new_element</tt><tt class="py-op">.</tt><tt id="link-3080" 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-3104', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TESTTEXT"</tt> </tt>
-<a name="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line">        <tt class="py-name">new_element</tt><tt class="py-op">.</tt><tt id="link-3105" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3105', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TESTTAIL"</tt> </tt>
-<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line">        <tt class="py-name">child1</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
-<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3106" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3106', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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">new_element</tt><tt class="py-op">)</tt> </tt>
-<a name="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-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="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line">            <tt class="py-name">new_element</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2984"></a><tt class="py-lineno">2984</tt>  <tt class="py-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="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line">            <tt class="py-string">"TESTTEXT"</tt><tt class="py-op">,</tt> </tt>
-<a name="L2986"></a><tt class="py-lineno">2986</tt>  <tt class="py-line">            <tt class="py-name">e</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-3107" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3080', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TESTTEXT"</tt> </tt>
+<a name="L2970"></a><tt class="py-lineno">2970</tt>  <tt class="py-line">        <tt class="py-name">new_element</tt><tt class="py-op">.</tt><tt id="link-3081" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3081', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"TESTTAIL"</tt> </tt>
+<a name="L2971"></a><tt class="py-lineno">2971</tt>  <tt class="py-line">        <tt class="py-name">child1</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L2972"></a><tt class="py-lineno">2972</tt>  <tt class="py-line">        <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-3082" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3082', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt class="py-name">e</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">new_element</tt><tt class="py-op">)</tt> </tt>
+<a name="L2973"></a><tt class="py-lineno">2973</tt>  <tt class="py-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="L2974"></a><tt class="py-lineno">2974</tt>  <tt class="py-line">            <tt class="py-name">new_element</tt><tt class="py-op">,</tt> <tt class="py-name">e</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="L2975"></a><tt class="py-lineno">2975</tt>  <tt class="py-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="L2976"></a><tt class="py-lineno">2976</tt>  <tt class="py-line">            <tt class="py-string">"TESTTEXT"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2977"></a><tt class="py-lineno">2977</tt>  <tt class="py-line">            <tt class="py-name">e</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-3083" 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-3107', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-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="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line">            <tt class="py-string">"TESTTAIL"</tt><tt class="py-op">,</tt> </tt>
-<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line">            <tt class="py-name">e</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-3108" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3108', 'tail', 'link-918');">tail</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-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="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_setslice_all_empty_reversed"></a><div id="ETreeOnlyTestCase.test_setslice_all_empty_reversed-def"><a name="L2993"></a><tt class="py-lineno">2993</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_all_empty_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_all_empty_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_all_empty_reversed">test_setslice_all_empty_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="ETreeOnlyTestCase.test_setslice_all_empty_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_all_empty_reversed-expanded"><a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">        <tt id="link-3109" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3083', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2978"></a><tt class="py-lineno">2978</tt>  <tt class="py-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="L2979"></a><tt class="py-lineno">2979</tt>  <tt class="py-line">            <tt class="py-string">"TESTTAIL"</tt><tt class="py-op">,</tt> </tt>
+<a name="L2980"></a><tt class="py-lineno">2980</tt>  <tt class="py-line">            <tt class="py-name">e</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-3084" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3084', 'tail', 'link-918');">tail</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L2981"></a><tt class="py-lineno">2981</tt>  <tt class="py-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="L2982"></a><tt class="py-lineno">2982</tt>  <tt class="py-line">            <tt class="py-name">child1</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2983"></a><tt class="py-lineno">2983</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_setslice_all_empty_reversed"></a><div id="ETreeOnlyTestCase.test_setslice_all_empty_reversed-def"><a name="L2984"></a><tt class="py-lineno">2984</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_all_empty_reversed-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_all_empty_reversed');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_all_empty_reversed">test_setslice_all_empty_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="ETreeOnlyTestCase.test_setslice_all_empty_reversed-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_all_empty_reversed-expanded"><a name="L2985"></a><tt class="py-lineno">2985</tt>  <tt class="py-line">        <tt id="link-3085" 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-3109', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3110" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3085', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3086" 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-3110', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3111" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3086', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3087" 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-3111', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">        <tt id="link-3112" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3112', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3113" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3087', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L2986"></a><tt class="py-lineno">2986</tt>  <tt class="py-line">        <tt id="link-3088" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3088', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3089" 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-3113', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3114" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3114', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-line"> </tt>
-<a name="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3115" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3089', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3090" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3090', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L2987"></a><tt class="py-lineno">2987</tt>  <tt class="py-line"> </tt>
+<a name="L2988"></a><tt class="py-lineno">2988</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3091" 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-3115', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line"> </tt>
-<a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3116" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3091', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2989"></a><tt class="py-lineno">2989</tt>  <tt class="py-line"> </tt>
+<a name="L2990"></a><tt class="py-lineno">2990</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3092" 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-3116', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3000"></a><tt class="py-lineno">3000</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-3117" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3092', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2991"></a><tt class="py-lineno">2991</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-3093" 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-3117', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-3118" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3093', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'f'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2992"></a><tt class="py-lineno">2992</tt>  <tt class="py-line">        <tt class="py-name">g</tt> <tt class="py-op">=</tt> <tt id="link-3094" 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-3118', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'g'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line"> </tt>
-<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt> </tt>
-<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">        <tt class="py-name">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-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt> </tt>
-<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-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="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_setslice_step"></a><div id="ETreeOnlyTestCase.test_setslice_step-def"><a name="L3009"></a><tt class="py-lineno">3009</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step">test_setslice_step</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_setslice_step-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step-expanded"><a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">        <tt id="link-3119" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3094', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'g'</tt><tt class="py-op">)</tt> </tt>
+<a name="L2993"></a><tt class="py-lineno">2993</tt>  <tt class="py-line"> </tt>
+<a name="L2994"></a><tt class="py-lineno">2994</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">e</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">g</tt><tt class="py-op">]</tt> </tt>
+<a name="L2995"></a><tt class="py-lineno">2995</tt>  <tt class="py-line">        <tt class="py-name">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-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">s</tt> </tt>
+<a name="L2996"></a><tt class="py-lineno">2996</tt>  <tt class="py-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="L2997"></a><tt class="py-lineno">2997</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">g</tt><tt class="py-op">,</tt> <tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L2998"></a><tt class="py-lineno">2998</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L2999"></a><tt class="py-lineno">2999</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_setslice_step"></a><div id="ETreeOnlyTestCase.test_setslice_step-def"><a name="L3000"></a><tt class="py-lineno">3000</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step">test_setslice_step</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_setslice_step-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step-expanded"><a name="L3001"></a><tt class="py-lineno">3001</tt>  <tt class="py-line">        <tt id="link-3095" 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-3119', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3120" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3095', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3096" 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-3120', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3121" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3096', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3097" 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-3121', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">        <tt id="link-3122" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3122', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3123" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3097', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3002"></a><tt class="py-lineno">3002</tt>  <tt class="py-line">        <tt id="link-3098" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3098', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3099" 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-3123', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3124" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3124', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line"> </tt>
-<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3125" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3099', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3100" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3100', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3003"></a><tt class="py-lineno">3003</tt>  <tt class="py-line"> </tt>
+<a name="L3004"></a><tt class="py-lineno">3004</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3101" 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-3125', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3126" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3126', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3127" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3127', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3128" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3128', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3129" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3129', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3018"></a><tt class="py-lineno">3018</tt>  <tt class="py-line"> </tt>
-<a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3130" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3101', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3005"></a><tt class="py-lineno">3005</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3102" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3102', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3006"></a><tt class="py-lineno">3006</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3103" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3103', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3007"></a><tt class="py-lineno">3007</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3104" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3104', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3008"></a><tt class="py-lineno">3008</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3105" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3105', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3009"></a><tt class="py-lineno">3009</tt>  <tt class="py-line"> </tt>
+<a name="L3010"></a><tt class="py-lineno">3010</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3106" 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-3130', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3131" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3106', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3011"></a><tt class="py-lineno">3011</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3107" 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-3131', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line"> </tt>
-<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line">        <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 class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
-<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-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="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3025"></a><tt class="py-lineno">3025</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_setslice_step_negative"></a><div id="ETreeOnlyTestCase.test_setslice_step_negative-def"><a name="L3027"></a><tt class="py-lineno">3027</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step_negative-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step_negative');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative">test_setslice_step_negative</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_setslice_step_negative-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step_negative-expanded"><a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line">        <tt id="link-3132" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3107', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3012"></a><tt class="py-lineno">3012</tt>  <tt class="py-line"> </tt>
+<a name="L3013"></a><tt class="py-lineno">3013</tt>  <tt class="py-line">        <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 class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
+<a name="L3014"></a><tt class="py-lineno">3014</tt>  <tt class="py-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="L3015"></a><tt class="py-lineno">3015</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3016"></a><tt class="py-lineno">3016</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3017"></a><tt class="py-lineno">3017</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_setslice_step_negative"></a><div id="ETreeOnlyTestCase.test_setslice_step_negative-def"><a name="L3018"></a><tt class="py-lineno">3018</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step_negative-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step_negative');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative">test_setslice_step_negative</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_setslice_step_negative-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step_negative-expanded"><a name="L3019"></a><tt class="py-lineno">3019</tt>  <tt class="py-line">        <tt id="link-3108" 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-3132', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3133" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3108', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3109" 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-3133', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3134" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3109', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3110" 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-3134', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line">        <tt id="link-3135" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3135', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3136" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3110', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3020"></a><tt class="py-lineno">3020</tt>  <tt class="py-line">        <tt id="link-3111" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3111', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3112" 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-3136', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3137" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3137', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line"> </tt>
-<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3138" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3112', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3113" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3113', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3021"></a><tt class="py-lineno">3021</tt>  <tt class="py-line"> </tt>
+<a name="L3022"></a><tt class="py-lineno">3022</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3114" 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-3138', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3139" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3139', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3140" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3140', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3141" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3141', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3142" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3142', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3036"></a><tt class="py-lineno">3036</tt>  <tt class="py-line"> </tt>
-<a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3143" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3114', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3023"></a><tt class="py-lineno">3023</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3115" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3115', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3024"></a><tt class="py-lineno">3024</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3116" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3116', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3025"></a><tt class="py-lineno">3025</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3117" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3117', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3026"></a><tt class="py-lineno">3026</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3118" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3118', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3027"></a><tt class="py-lineno">3027</tt>  <tt class="py-line"> </tt>
+<a name="L3028"></a><tt class="py-lineno">3028</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3119" 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-3143', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3144" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3119', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3029"></a><tt class="py-lineno">3029</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3120" 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-3144', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line"> </tt>
-<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">        <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 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">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
-<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-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="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_setslice_step_negative2"></a><div id="ETreeOnlyTestCase.test_setslice_step_negative2-def"><a name="L3045"></a><tt class="py-lineno">3045</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step_negative2-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step_negative2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative2">test_setslice_step_negative2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_setslice_step_negative2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step_negative2-expanded"><a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">        <tt id="link-3145" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3120', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3030"></a><tt class="py-lineno">3030</tt>  <tt class="py-line"> </tt>
+<a name="L3031"></a><tt class="py-lineno">3031</tt>  <tt class="py-line">        <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 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">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
+<a name="L3032"></a><tt class="py-lineno">3032</tt>  <tt class="py-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="L3033"></a><tt class="py-lineno">3033</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3034"></a><tt class="py-lineno">3034</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3035"></a><tt class="py-lineno">3035</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_setslice_step_negative2"></a><div id="ETreeOnlyTestCase.test_setslice_step_negative2-def"><a name="L3036"></a><tt class="py-lineno">3036</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step_negative2-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step_negative2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_negative2">test_setslice_step_negative2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_setslice_step_negative2-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step_negative2-expanded"><a name="L3037"></a><tt class="py-lineno">3037</tt>  <tt class="py-line">        <tt id="link-3121" 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-3145', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3146" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3121', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3122" 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-3146', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3147" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3122', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3123" 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-3147', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">        <tt id="link-3148" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3148', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3149" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3123', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3038"></a><tt class="py-lineno">3038</tt>  <tt class="py-line">        <tt id="link-3124" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3124', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3125" 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-3149', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3150" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3150', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line"> </tt>
-<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3151" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3125', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3126" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3126', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3039"></a><tt class="py-lineno">3039</tt>  <tt class="py-line"> </tt>
+<a name="L3040"></a><tt class="py-lineno">3040</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3127" 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-3151', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3152" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3152', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3153" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3153', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3154" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3154', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3155" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3155', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3054"></a><tt class="py-lineno">3054</tt>  <tt class="py-line"> </tt>
-<a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3156" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3127', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3041"></a><tt class="py-lineno">3041</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3128" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3128', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3042"></a><tt class="py-lineno">3042</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3129" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3129', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3043"></a><tt class="py-lineno">3043</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3130" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3130', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3044"></a><tt class="py-lineno">3044</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3131" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3131', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3045"></a><tt class="py-lineno">3045</tt>  <tt class="py-line"> </tt>
+<a name="L3046"></a><tt class="py-lineno">3046</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3132" 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-3156', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3157" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3132', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3047"></a><tt class="py-lineno">3047</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3133" 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-3157', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line"> </tt>
-<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">        <tt class="py-name">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-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
-<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-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="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_setslice_step_overrun"></a><div id="ETreeOnlyTestCase.test_setslice_step_overrun-def"><a name="L3063"></a><tt class="py-lineno">3063</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step_overrun-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step_overrun');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_overrun">test_setslice_step_overrun</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_setslice_step_overrun-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step_overrun-expanded"><a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">        <tt id="link-3158" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3133', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3048"></a><tt class="py-lineno">3048</tt>  <tt class="py-line"> </tt>
+<a name="L3049"></a><tt class="py-lineno">3049</tt>  <tt class="py-line">        <tt class="py-name">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-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">]</tt> </tt>
+<a name="L3050"></a><tt class="py-lineno">3050</tt>  <tt class="py-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="L3051"></a><tt class="py-lineno">3051</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">x</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3052"></a><tt class="py-lineno">3052</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3053"></a><tt class="py-lineno">3053</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_setslice_step_overrun"></a><div id="ETreeOnlyTestCase.test_setslice_step_overrun-def"><a name="L3054"></a><tt class="py-lineno">3054</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_setslice_step_overrun-toggle" onclick="return toggle('ETreeOnlyTestCase.test_setslice_step_overrun');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_setslice_step_overrun">test_setslice_step_overrun</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_setslice_step_overrun-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_setslice_step_overrun-expanded"><a name="L3055"></a><tt class="py-lineno">3055</tt>  <tt class="py-line">        <tt id="link-3134" 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-3158', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3159" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3134', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3135" 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-3159', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3160" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3135', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3136" 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-3160', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">        <tt id="link-3161" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3161', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3162" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3136', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3056"></a><tt class="py-lineno">3056</tt>  <tt class="py-line">        <tt id="link-3137" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3137', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3138" 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-3162', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3163" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3163', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">            <tt class="py-name">slice</tt> </tt>
-<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
-<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"slice() not found"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
-<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line"> </tt>
-<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3164" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3138', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3139" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3139', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3057"></a><tt class="py-lineno">3057</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3058"></a><tt class="py-lineno">3058</tt>  <tt class="py-line">            <tt class="py-name">slice</tt> </tt>
+<a name="L3059"></a><tt class="py-lineno">3059</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">NameError</tt><tt class="py-op">:</tt> </tt>
+<a name="L3060"></a><tt class="py-lineno">3060</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"slice() not found"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3061"></a><tt class="py-lineno">3061</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> </tt>
+<a name="L3062"></a><tt class="py-lineno">3062</tt>  <tt class="py-line"> </tt>
+<a name="L3063"></a><tt class="py-lineno">3063</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3140" 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-3164', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3073"></a><tt class="py-lineno">3073</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3165" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3165', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3166" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3166', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3167" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3167', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3168" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3168', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-line"> </tt>
-<a name="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3169" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3140', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3064"></a><tt class="py-lineno">3064</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3141" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3141', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3065"></a><tt class="py-lineno">3065</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3142" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3142', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3066"></a><tt class="py-lineno">3066</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3143" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3143', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3067"></a><tt class="py-lineno">3067</tt>  <tt class="py-line">        <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt id="link-3144" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3144', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'e'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3068"></a><tt class="py-lineno">3068</tt>  <tt class="py-line"> </tt>
+<a name="L3069"></a><tt class="py-lineno">3069</tt>  <tt class="py-line">        <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt id="link-3145" 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-3169', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3170" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3145', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'x'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3070"></a><tt class="py-lineno">3070</tt>  <tt class="py-line">        <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt id="link-3146" 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-3170', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line">        <tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt id="link-3171" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3146', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'y'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3071"></a><tt class="py-lineno">3071</tt>  <tt class="py-line">        <tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt id="link-3147" 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-3171', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'z'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3081"></a><tt class="py-lineno">3081</tt>  <tt class="py-line"> </tt>
-<a name="L3082"></a><tt class="py-lineno">3082</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="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> </tt>
-<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line">            <tt class="py-name">operator</tt><tt class="py-op">.</tt><tt class="py-name">setitem</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">slice</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">None</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-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">z</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line"> </tt>
-<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-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="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3088"></a><tt class="py-lineno">3088</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_sourceline_XML"></a><div id="ETreeOnlyTestCase.test_sourceline_XML-def"><a name="L3090"></a><tt class="py-lineno">3090</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_XML-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_XML');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_XML">test_sourceline_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="ETreeOnlyTestCase.test_sourceline_XML-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_XML-expanded"><a name="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line">        <tt id="link-3172" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3147', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'z'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3072"></a><tt class="py-lineno">3072</tt>  <tt class="py-line"> </tt>
+<a name="L3073"></a><tt class="py-lineno">3073</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="L3074"></a><tt class="py-lineno">3074</tt>  <tt class="py-line">            <tt class="py-name">ValueError</tt><tt class="py-op">,</tt> </tt>
+<a name="L3075"></a><tt class="py-lineno">3075</tt>  <tt class="py-line">            <tt class="py-name">operator</tt><tt class="py-op">.</tt><tt class="py-name">setitem</tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">slice</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">None</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-name">x</tt><tt class="py-op">,</tt> <tt class="py-name">y</tt><tt class="py-op">,</tt> <tt class="py-name">z</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L3076"></a><tt class="py-lineno">3076</tt>  <tt class="py-line"> </tt>
+<a name="L3077"></a><tt class="py-lineno">3077</tt>  <tt class="py-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="L3078"></a><tt class="py-lineno">3078</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-name">d</tt><tt class="py-op">,</tt> <tt class="py-name">e</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3079"></a><tt class="py-lineno">3079</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3080"></a><tt class="py-lineno">3080</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_sourceline_XML"></a><div id="ETreeOnlyTestCase.test_sourceline_XML-def"><a name="L3081"></a><tt class="py-lineno">3081</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_XML-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_XML');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_XML">test_sourceline_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="ETreeOnlyTestCase.test_sourceline_XML-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_XML-expanded"><a name="L3082"></a><tt class="py-lineno">3082</tt>  <tt class="py-line">        <tt id="link-3148" 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-3172', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3173" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3148', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3149" 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-3173', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3174" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3149', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3150" 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-3174', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line">        <tt id="link-3175" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3175', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3176" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3150', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L3083"></a><tt class="py-lineno">3083</tt>  <tt class="py-line">        <tt id="link-3151" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3151', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3152" 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-3176', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3177" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3177', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''&lt;?xml version="1.0"?&gt;</tt> </tt>
-<a name="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line"><tt class="py-string">        &lt;root&gt;&lt;test&gt;</tt> </tt>
-<a name="L3094"></a><tt class="py-lineno">3094</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
-<a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line"><tt class="py-string">        &lt;bla/&gt;&lt;/test&gt;</tt> </tt>
-<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line"><tt class="py-string">        &lt;/root&gt;</tt> </tt>
-<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line"> </tt>
-<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-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="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">2</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="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3178" class="py-name" targets="Variable lxml.etree._Element.sourceline=lxml.etree._Element-class.html#sourceline"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3178', 'sourceline', 'link-3178');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-3179" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3179', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3180" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-3180', 'getiterator', 'link-1301');">getiterator</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="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_large_sourceline_XML"></a><div id="ETreeOnlyTestCase.test_large_sourceline_XML-def"><a name="L3103"></a><tt class="py-lineno">3103</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_large_sourceline_XML-toggle" onclick="return toggle('ETreeOnlyTestCase.test_large_sourceline_XML');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_large_sourceline_XML">test_large_sourceline_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="ETreeOnlyTestCase.test_large_sourceline_XML-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_large_sourceline_XML-expanded"><a name="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">        <tt id="link-3181" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3152', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3153" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3153', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''&lt;?xml version="1.0"?&gt;</tt> </tt>
+<a name="L3084"></a><tt class="py-lineno">3084</tt>  <tt class="py-line"><tt class="py-string">        &lt;root&gt;&lt;test&gt;</tt> </tt>
+<a name="L3085"></a><tt class="py-lineno">3085</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L3086"></a><tt class="py-lineno">3086</tt>  <tt class="py-line"><tt class="py-string">        &lt;bla/&gt;&lt;/test&gt;</tt> </tt>
+<a name="L3087"></a><tt class="py-lineno">3087</tt>  <tt class="py-line"><tt class="py-string">        &lt;/root&gt;</tt> </tt>
+<a name="L3088"></a><tt class="py-lineno">3088</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3089"></a><tt class="py-lineno">3089</tt>  <tt class="py-line"> </tt>
+<a name="L3090"></a><tt class="py-lineno">3090</tt>  <tt class="py-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="L3091"></a><tt class="py-lineno">3091</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">2</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="L3092"></a><tt class="py-lineno">3092</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3154" class="py-name" targets="Variable lxml.etree._Element.sourceline=lxml.etree._Element-class.html#sourceline"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3154', 'sourceline', 'link-3154');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-3155" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3155', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3156" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-3156', 'getiterator', 'link-1301');">getiterator</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="L3093"></a><tt class="py-lineno">3093</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_large_sourceline_XML"></a><div id="ETreeOnlyTestCase.test_large_sourceline_XML-def"><a name="L3094"></a><tt class="py-lineno">3094</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_large_sourceline_XML-toggle" onclick="return toggle('ETreeOnlyTestCase.test_large_sourceline_XML');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_large_sourceline_XML">test_large_sourceline_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="ETreeOnlyTestCase.test_large_sourceline_XML-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_large_sourceline_XML-expanded"><a name="L3095"></a><tt class="py-lineno">3095</tt>  <tt class="py-line">        <tt id="link-3157" 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-3181', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3182" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3157', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3158" 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-3182', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3183" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3158', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3159" 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-3183', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">        <tt id="link-3184" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3184', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3185" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3159', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L3096"></a><tt class="py-lineno">3096</tt>  <tt class="py-line">        <tt id="link-3160" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3160', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3161" 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-3185', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3186" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3186', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">            <tt class="py-string">'&lt;?xml version="1.0"?&gt;\n'</tt> </tt>
-<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line">            <tt class="py-string">'&lt;root&gt;'</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">*</tt> <tt class="py-number">65536</tt> <tt class="py-op">+</tt> </tt>
-<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">            <tt class="py-string">'&lt;p&gt;'</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">*</tt> <tt class="py-number">65536</tt> <tt class="py-op">+</tt> <tt class="py-string">'&lt;/p&gt;\n'</tt> <tt class="py-op">+</tt> </tt>
-<a name="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line">            <tt class="py-string">'&lt;br/&gt;\n'</tt> </tt>
-<a name="L3110"></a><tt class="py-lineno">3110</tt>  <tt class="py-line">            <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line"> </tt>
-<a name="L3112"></a><tt class="py-lineno">3112</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-3187" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3161', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3162" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3162', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3097"></a><tt class="py-lineno">3097</tt>  <tt class="py-line">            <tt class="py-string">'&lt;?xml version="1.0"?&gt;\n'</tt> </tt>
+<a name="L3098"></a><tt class="py-lineno">3098</tt>  <tt class="py-line">            <tt class="py-string">'&lt;root&gt;'</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">*</tt> <tt class="py-number">65536</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3099"></a><tt class="py-lineno">3099</tt>  <tt class="py-line">            <tt class="py-string">'&lt;p&gt;'</tt> <tt class="py-op">+</tt> <tt class="py-string">'\n'</tt> <tt class="py-op">*</tt> <tt class="py-number">65536</tt> <tt class="py-op">+</tt> <tt class="py-string">'&lt;/p&gt;\n'</tt> <tt class="py-op">+</tt> </tt>
+<a name="L3100"></a><tt class="py-lineno">3100</tt>  <tt class="py-line">            <tt class="py-string">'&lt;br/&gt;\n'</tt> </tt>
+<a name="L3101"></a><tt class="py-lineno">3101</tt>  <tt class="py-line">            <tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3102"></a><tt class="py-lineno">3102</tt>  <tt class="py-line"> </tt>
+<a name="L3103"></a><tt class="py-lineno">3103</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-3163" 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-3187', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3188" class="py-name"><a title="lxml.etree.LIBXML_VERSION" class="py-name" href="#" onclick="return doclink('link-3188', 'LIBXML_VERSION', 'link-29');">LIBXML_VERSION</a></tt> <tt class="py-op">&gt;=</tt> <tt class="py-op">(</tt><tt class="py-number">2</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="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line">            <tt class="py-name">expected</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">131074</tt><tt class="py-op">,</tt> <tt class="py-number">131076</tt><tt class="py-op">]</tt> </tt>
-<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">            <tt class="py-name">expected</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">65535</tt><tt class="py-op">,</tt> <tt class="py-number">65535</tt><tt class="py-op">]</tt> </tt>
-<a name="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line"> </tt>
-<a name="L3117"></a><tt class="py-lineno">3117</tt>  <tt class="py-line">        <tt 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-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3189" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3189', 'sourceline', 'link-3178');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-3190" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3190', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3191" 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-3191', 'iter', 'link-3191');">iter</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="L3118"></a><tt class="py-lineno">3118</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_sourceline_parse"></a><div id="ETreeOnlyTestCase.test_sourceline_parse-def"><a name="L3119"></a><tt class="py-lineno">3119</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_parse-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_parse">test_sourceline_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="ETreeOnlyTestCase.test_sourceline_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_parse-expanded"><a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line">        <tt id="link-3192" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3163', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3164" class="py-name"><a title="lxml.etree.LIBXML_VERSION" class="py-name" href="#" onclick="return doclink('link-3164', 'LIBXML_VERSION', 'link-29');">LIBXML_VERSION</a></tt> <tt class="py-op">&gt;=</tt> <tt class="py-op">(</tt><tt class="py-number">2</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="L3104"></a><tt class="py-lineno">3104</tt>  <tt class="py-line">            <tt class="py-name">expected</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">131074</tt><tt class="py-op">,</tt> <tt class="py-number">131076</tt><tt class="py-op">]</tt> </tt>
+<a name="L3105"></a><tt class="py-lineno">3105</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3106"></a><tt class="py-lineno">3106</tt>  <tt class="py-line">            <tt class="py-name">expected</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">65535</tt><tt class="py-op">,</tt> <tt class="py-number">65535</tt><tt class="py-op">]</tt> </tt>
+<a name="L3107"></a><tt class="py-lineno">3107</tt>  <tt class="py-line"> </tt>
+<a name="L3108"></a><tt class="py-lineno">3108</tt>  <tt class="py-line">        <tt 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-op">[</tt><tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3165" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3165', 'sourceline', 'link-3154');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt id="link-3166" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3166', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3167" 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-3167', 'iter', 'link-3167');">iter</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="L3109"></a><tt class="py-lineno">3109</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_sourceline_parse"></a><div id="ETreeOnlyTestCase.test_sourceline_parse-def"><a name="L3110"></a><tt class="py-lineno">3110</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_parse-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_parse">test_sourceline_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="ETreeOnlyTestCase.test_sourceline_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_parse-expanded"><a name="L3111"></a><tt class="py-lineno">3111</tt>  <tt class="py-line">        <tt id="link-3168" 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-3192', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3193" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3168', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3169" 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-3193', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3194" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3169', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3170" 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-3194', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3195" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3170', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L3112"></a><tt class="py-lineno">3112</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3171" 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-3195', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3196" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3196', 'fileInTestDir', 'link-13');">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="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line"> </tt>
-<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-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="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</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="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3197" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3197', 'sourceline', 'link-3178');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3198" class="py-name"><a title="lxml.etree._Element.getiterator
-lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-3198', 'getiterator', 'link-1301');">getiterator</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="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_sourceline_iterparse_end"></a><div id="ETreeOnlyTestCase.test_sourceline_iterparse_end-def"><a name="L3127"></a><tt class="py-lineno">3127</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_iterparse_end-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_iterparse_end');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_end">test_sourceline_iterparse_end</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_end-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_end-expanded"><a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line">        <tt id="link-3199" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3199', 'iterparse', 'link-834');">iterparse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3200" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3171', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3172" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3172', 'fileInTestDir', 'link-13');">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="L3113"></a><tt class="py-lineno">3113</tt>  <tt class="py-line"> </tt>
+<a name="L3114"></a><tt class="py-lineno">3114</tt>  <tt class="py-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="L3115"></a><tt class="py-lineno">3115</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</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="L3116"></a><tt class="py-lineno">3116</tt>  <tt class="py-line">            <tt class="py-op">[</tt> <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-3173" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3173', 'sourceline', 'link-3154');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-name">el</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3174" class="py-name"><a title="lxml.etree._Element.getiterator
+lxml.etree._ElementTree.getiterator" class="py-name" href="#" onclick="return doclink('link-3174', 'getiterator', 'link-1301');">getiterator</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="L3117"></a><tt class="py-lineno">3117</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_sourceline_iterparse_end"></a><div id="ETreeOnlyTestCase.test_sourceline_iterparse_end-def"><a name="L3118"></a><tt class="py-lineno">3118</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_iterparse_end-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_iterparse_end');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_end">test_sourceline_iterparse_end</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_end-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_end-expanded"><a name="L3119"></a><tt class="py-lineno">3119</tt>  <tt class="py-line">        <tt id="link-3175" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3175', 'iterparse', 'link-834');">iterparse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3176" 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-3200', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3201" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3201', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
-<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line">        <tt class="py-name">lines</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-3202" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3202', 'sourceline', 'link-3178');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt>  </tt>
-<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">                  <tt id="link-3203" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3203', 'iterparse', 'link-834');">iterparse</a></tt><tt class="py-op">(</tt><tt id="link-3204" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3204', 'fileInTestDir', 'link-13');">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 class="py-op">]</tt> </tt>
-<a name="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line"> </tt>
-<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-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="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">3</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="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">            <tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_sourceline_iterparse_start"></a><div id="ETreeOnlyTestCase.test_sourceline_iterparse_start-def"><a name="L3136"></a><tt class="py-lineno">3136</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_iterparse_start-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_iterparse_start');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_start">test_sourceline_iterparse_start</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_start-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_start-expanded"><a name="L3137"></a><tt class="py-lineno">3137</tt>  <tt class="py-line">        <tt id="link-3205" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3205', 'iterparse', 'link-834');">iterparse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3206" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3176', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3177" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3177', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
+<a name="L3120"></a><tt class="py-lineno">3120</tt>  <tt class="py-line">        <tt class="py-name">lines</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-3178" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3178', 'sourceline', 'link-3154');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt>  </tt>
+<a name="L3121"></a><tt class="py-lineno">3121</tt>  <tt class="py-line">                  <tt id="link-3179" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3179', 'iterparse', 'link-834');">iterparse</a></tt><tt class="py-op">(</tt><tt id="link-3180" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3180', 'fileInTestDir', 'link-13');">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 class="py-op">]</tt> </tt>
+<a name="L3122"></a><tt class="py-lineno">3122</tt>  <tt class="py-line"> </tt>
+<a name="L3123"></a><tt class="py-lineno">3123</tt>  <tt class="py-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="L3124"></a><tt class="py-lineno">3124</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">,</tt> <tt class="py-number">3</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="L3125"></a><tt class="py-lineno">3125</tt>  <tt class="py-line">            <tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3126"></a><tt class="py-lineno">3126</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_sourceline_iterparse_start"></a><div id="ETreeOnlyTestCase.test_sourceline_iterparse_start-def"><a name="L3127"></a><tt class="py-lineno">3127</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_iterparse_start-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_iterparse_start');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_iterparse_start">test_sourceline_iterparse_start</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_start-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_iterparse_start-expanded"><a name="L3128"></a><tt class="py-lineno">3128</tt>  <tt class="py-line">        <tt id="link-3181" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3181', 'iterparse', 'link-834');">iterparse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3182" 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-3206', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3207" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3207', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
-<a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line">        <tt class="py-name">lines</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-3208" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3208', 'sourceline', 'link-3178');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt>  </tt>
-<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line">                  <tt id="link-3209" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3209', 'iterparse', 'link-834');">iterparse</a></tt><tt class="py-op">(</tt><tt id="link-3210" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3210', 'fileInTestDir', 'link-13');">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="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">                            <tt class="py-name">events</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">"start"</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
-<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line"> </tt>
-<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-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="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</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="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">            <tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_sourceline_element"></a><div id="ETreeOnlyTestCase.test_sourceline_element-def"><a name="L3146"></a><tt class="py-lineno">3146</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_element">test_sourceline_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="ETreeOnlyTestCase.test_sourceline_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_element-expanded"><a name="L3147"></a><tt class="py-lineno">3147</tt>  <tt class="py-line">        <tt id="link-3211" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3182', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3183" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3183', 'iterparse', 'link-834');">iterparse</a></tt> </tt>
+<a name="L3129"></a><tt class="py-lineno">3129</tt>  <tt class="py-line">        <tt class="py-name">lines</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-3184" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3184', 'sourceline', 'link-3154');">sourceline</a></tt> <tt class="py-keyword">for</tt> <tt class="py-op">(</tt><tt class="py-name">event</tt><tt class="py-op">,</tt> <tt class="py-name">el</tt><tt class="py-op">)</tt> <tt class="py-keyword">in</tt>  </tt>
+<a name="L3130"></a><tt class="py-lineno">3130</tt>  <tt class="py-line">                  <tt id="link-3185" class="py-name"><a title="lxml.etree.iterparse" class="py-name" href="#" onclick="return doclink('link-3185', 'iterparse', 'link-834');">iterparse</a></tt><tt class="py-op">(</tt><tt id="link-3186" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3186', 'fileInTestDir', 'link-13');">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="L3131"></a><tt class="py-lineno">3131</tt>  <tt class="py-line">                            <tt class="py-name">events</tt><tt class="py-op">=</tt><tt class="py-op">(</tt><tt class="py-string">"start"</tt><tt class="py-op">,</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> <tt class="py-op">]</tt> </tt>
+<a name="L3132"></a><tt class="py-lineno">3132</tt>  <tt class="py-line"> </tt>
+<a name="L3133"></a><tt class="py-lineno">3133</tt>  <tt class="py-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="L3134"></a><tt class="py-lineno">3134</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">2</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="L3135"></a><tt class="py-lineno">3135</tt>  <tt class="py-line">            <tt class="py-name">lines</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3136"></a><tt class="py-lineno">3136</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_sourceline_element"></a><div id="ETreeOnlyTestCase.test_sourceline_element-def"><a name="L3137"></a><tt class="py-lineno">3137</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_sourceline_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_sourceline_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_sourceline_element">test_sourceline_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="ETreeOnlyTestCase.test_sourceline_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_sourceline_element-expanded"><a name="L3138"></a><tt class="py-lineno">3138</tt>  <tt class="py-line">        <tt id="link-3187" 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-3211', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3212" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3187', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3188" 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-3212', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3213" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3188', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3189" 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-3213', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">        <tt id="link-3214" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3214', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3215" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3189', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3139"></a><tt class="py-lineno">3139</tt>  <tt class="py-line">        <tt id="link-3190" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3190', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3191" 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-3215', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3216" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3216', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">        <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-3217" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3191', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3192" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3192', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3140"></a><tt class="py-lineno">3140</tt>  <tt class="py-line">        <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt id="link-3193" 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-3217', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line">        <tt 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">el</tt><tt class="py-op">.</tt><tt id="link-3218" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3218', 'sourceline', 'link-3178');">sourceline</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line"> </tt>
-<a name="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line">        <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt id="link-3219" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3219', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3153"></a><tt class="py-lineno">3153</tt>  <tt class="py-line">        <tt 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">el</tt><tt class="py-op">.</tt><tt id="link-3220" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3220', 'sourceline', 'link-3178');">sourceline</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">        <tt 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</tt><tt class="py-op">.</tt><tt id="link-3221" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3221', 'sourceline', 'link-3178');">sourceline</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_XML_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_XML_base_url_docinfo-def"><a name="L3156"></a><tt class="py-lineno">3156</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XML_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_XML_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XML_base_url_docinfo-expanded"><a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line">        <tt id="link-3222" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3193', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3141"></a><tt class="py-lineno">3141</tt>  <tt class="py-line">        <tt 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">el</tt><tt class="py-op">.</tt><tt id="link-3194" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3194', 'sourceline', 'link-3154');">sourceline</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3142"></a><tt class="py-lineno">3142</tt>  <tt class="py-line"> </tt>
+<a name="L3143"></a><tt class="py-lineno">3143</tt>  <tt class="py-line">        <tt class="py-name">child</tt> <tt class="py-op">=</tt> <tt id="link-3195" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3195', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">el</tt><tt class="py-op">,</tt> <tt class="py-string">"test"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3144"></a><tt class="py-lineno">3144</tt>  <tt class="py-line">        <tt 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">el</tt><tt class="py-op">.</tt><tt id="link-3196" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3196', 'sourceline', 'link-3154');">sourceline</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3145"></a><tt class="py-lineno">3145</tt>  <tt class="py-line">        <tt 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</tt><tt class="py-op">.</tt><tt id="link-3197" class="py-name"><a title="lxml.etree._Element.sourceline" class="py-name" href="#" onclick="return doclink('link-3197', 'sourceline', 'link-3154');">sourceline</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3146"></a><tt class="py-lineno">3146</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_XML_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_XML_base_url_docinfo-def"><a name="L3147"></a><tt class="py-lineno">3147</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XML_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_XML_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XML_base_url_docinfo-expanded"><a name="L3148"></a><tt class="py-lineno">3148</tt>  <tt class="py-line">        <tt id="link-3198" 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-3222', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3223" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3198', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3199" 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-3223', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">        <tt id="link-3224" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3224', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3225" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3199', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3149"></a><tt class="py-lineno">3149</tt>  <tt class="py-line">        <tt id="link-3200" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3200', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3201" 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-3225', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3226" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3201', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3202" 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-3226', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3227" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3227', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3228" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3228', 'base_url', 'link-1407');">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="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">        <tt id="link-3229" 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-3229', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-3230" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3230', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3231" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3231', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3232" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3232', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3233" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3233', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3234" 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-3234', 'URL', 'link-3234');">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="L3161"></a><tt class="py-lineno">3161</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_XML_set_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-def"><a name="L3162"></a><tt class="py-lineno">3162</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-expanded"><a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">        <tt id="link-3235" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3202', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3203" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3203', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3204" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3204', 'base_url', 'link-1409');">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="L3150"></a><tt class="py-lineno">3150</tt>  <tt class="py-line">        <tt id="link-3205" 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-3205', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-3206" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3206', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3207" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3207', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3208" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3208', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3151"></a><tt class="py-lineno">3151</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3209" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3209', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3210" 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-3210', 'URL', 'link-3210');">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="L3152"></a><tt class="py-lineno">3152</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_XML_set_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-def"><a name="L3153"></a><tt class="py-lineno">3153</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_XML_set_base_url_docinfo-expanded"><a name="L3154"></a><tt class="py-lineno">3154</tt>  <tt class="py-line">        <tt id="link-3211" 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-3235', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3236" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3211', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3212" 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-3236', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">        <tt id="link-3237" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3237', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3238" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3212', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3155"></a><tt class="py-lineno">3155</tt>  <tt class="py-line">        <tt id="link-3213" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3213', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3214" 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-3238', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3239" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3214', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3215" 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-3239', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3240" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3240', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3241" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3241', 'base_url', 'link-1407');">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="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">        <tt id="link-3242" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3242', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-3243" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3243', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3244" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3244', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3245" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3245', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3246" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3246', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3247" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3247', 'URL', 'link-3234');">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="L3167"></a><tt class="py-lineno">3167</tt>  <tt class="py-line">        <tt id="link-3248" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3248', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3249" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3249', 'URL', 'link-3234');">URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
-<a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3250" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3250', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3251" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3251', 'URL', 'link-3234');">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="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_parse_stringio_base_url"></a><div id="ETreeOnlyTestCase.test_parse_stringio_base_url-def"><a name="L3170"></a><tt class="py-lineno">3170</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_stringio_base_url-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_parse_stringio_base_url-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_stringio_base_url-expanded"><a name="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line">        <tt id="link-3252" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3215', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3216" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3216', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3217" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3217', 'base_url', 'link-1409');">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="L3156"></a><tt class="py-lineno">3156</tt>  <tt class="py-line">        <tt id="link-3218" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3218', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-3219" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3219', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3220" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3220', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3221" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3221', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3157"></a><tt class="py-lineno">3157</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3222" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3222', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3223" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3223', 'URL', 'link-3210');">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="L3158"></a><tt class="py-lineno">3158</tt>  <tt class="py-line">        <tt id="link-3224" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3224', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3225" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3225', 'URL', 'link-3210');">URL</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
+<a name="L3159"></a><tt class="py-lineno">3159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3226" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3226', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3227" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3227', 'URL', 'link-3210');">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="L3160"></a><tt class="py-lineno">3160</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_parse_stringio_base_url"></a><div id="ETreeOnlyTestCase.test_parse_stringio_base_url-def"><a name="L3161"></a><tt class="py-lineno">3161</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_stringio_base_url-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_parse_stringio_base_url-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_stringio_base_url-expanded"><a name="L3162"></a><tt class="py-lineno">3162</tt>  <tt class="py-line">        <tt id="link-3228" 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-3252', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3253" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3228', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3229" 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-3253', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3254" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3229', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3163"></a><tt class="py-lineno">3163</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3230" 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-3254', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3255" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3230', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3231" 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-3255', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3256" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3256', 'base_url', 'link-1407');">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="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line">        <tt id="link-3257" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3257', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3258" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3258', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3174"></a><tt class="py-lineno">3174</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3259" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3259', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3260" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3260', 'URL', 'link-3234');">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="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_parse_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_parse_base_url_docinfo-def"><a name="L3176"></a><tt class="py-lineno">3176</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_parse_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_base_url_docinfo-expanded"><a name="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">        <tt id="link-3261" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3231', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3232" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3232', 'base_url', 'link-1409');">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="L3164"></a><tt class="py-lineno">3164</tt>  <tt class="py-line">        <tt id="link-3233" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3233', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3234" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3234', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3165"></a><tt class="py-lineno">3165</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3235" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3235', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3236" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3236', 'URL', 'link-3210');">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="L3166"></a><tt class="py-lineno">3166</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_parse_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_parse_base_url_docinfo-def"><a name="L3167"></a><tt class="py-lineno">3167</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.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_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_parse_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_base_url_docinfo-expanded"><a name="L3168"></a><tt class="py-lineno">3168</tt>  <tt class="py-line">        <tt id="link-3237" 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-3261', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3262" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3237', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3238" 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-3262', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3263" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3238', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3169"></a><tt class="py-lineno">3169</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3239" 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-3263', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3264" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3239', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3240" 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-3264', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3265" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3265', 'fileInTestDir', 'link-13');">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="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line">                           <tt id="link-3266" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3266', 'base_url', 'link-1407');">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="L3180"></a><tt class="py-lineno">3180</tt>  <tt class="py-line">        <tt id="link-3267" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3267', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3268" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3268', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3269" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3269', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3270" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3270', 'URL', 'link-3234');">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="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_HTML_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_HTML_base_url_docinfo-def"><a name="L3183"></a><tt class="py-lineno">3183</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_HTML_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.test_HTML_base_url_docinfo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_HTML_base_url_docinfo">test_HTML_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="ETreeOnlyTestCase.test_HTML_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_HTML_base_url_docinfo-expanded"><a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">        <tt id="link-3271" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3240', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3241" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3241', 'fileInTestDir', 'link-13');">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="L3170"></a><tt class="py-lineno">3170</tt>  <tt class="py-line">                           <tt id="link-3242" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3242', 'base_url', 'link-1409');">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="L3171"></a><tt class="py-lineno">3171</tt>  <tt class="py-line">        <tt id="link-3243" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3243', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3244" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3244', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3172"></a><tt class="py-lineno">3172</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3245" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3245', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3246" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3246', 'URL', 'link-3210');">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="L3173"></a><tt class="py-lineno">3173</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_HTML_base_url_docinfo"></a><div id="ETreeOnlyTestCase.test_HTML_base_url_docinfo-def"><a name="L3174"></a><tt class="py-lineno">3174</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_HTML_base_url_docinfo-toggle" onclick="return toggle('ETreeOnlyTestCase.test_HTML_base_url_docinfo');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_HTML_base_url_docinfo">test_HTML_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="ETreeOnlyTestCase.test_HTML_base_url_docinfo-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_HTML_base_url_docinfo-expanded"><a name="L3175"></a><tt class="py-lineno">3175</tt>  <tt class="py-line">        <tt id="link-3247" 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-3271', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3272" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3247', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3248" 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-3272', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">        <tt id="link-3273" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3273', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3274" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3248', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3176"></a><tt class="py-lineno">3176</tt>  <tt class="py-line">        <tt id="link-3249" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3249', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3250" 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-3274', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3275" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3250', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3251" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-3275', 'HTML', 'link-641');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-3276" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3276', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;html/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3277" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3277', 'base_url', 'link-1407');">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="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line">        <tt id="link-3278" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3278', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-3279" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3279', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3280" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3280', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3281" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3281', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3282" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3282', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3283" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3283', 'URL', 'link-3234');">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="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_docinfo_public"></a><div id="ETreeOnlyTestCase.test_docinfo_public-def"><a name="L3189"></a><tt class="py-lineno">3189</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_public-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_public');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_public">test_docinfo_public</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_docinfo_public-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_public-expanded"><a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">        <tt id="link-3284" class="py-name"><a title="lxml.etree
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-3251', 'HTML', 'link-652');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-3252" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3252', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;html/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3253" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3253', 'base_url', 'link-1409');">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="L3177"></a><tt class="py-lineno">3177</tt>  <tt class="py-line">        <tt id="link-3254" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3254', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt id="link-3255" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3255', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3256" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3256', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3257" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3257', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3178"></a><tt class="py-lineno">3178</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3258" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3258', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3259" class="py-name"><a title="lxml.etree.DocInfo.URL" class="py-name" href="#" onclick="return doclink('link-3259', 'URL', 'link-3210');">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="L3179"></a><tt class="py-lineno">3179</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_docinfo_public"></a><div id="ETreeOnlyTestCase.test_docinfo_public-def"><a name="L3180"></a><tt class="py-lineno">3180</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_public-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_public');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_public">test_docinfo_public</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_docinfo_public-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_public-expanded"><a name="L3181"></a><tt class="py-lineno">3181</tt>  <tt class="py-line">        <tt id="link-3260" 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-3284', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3285" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3260', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3261" 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-3285', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">        <tt class="py-name">xml_header</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;?xml version="1.0" encoding="ascii"?&gt;'</tt> </tt>
-<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">        <tt class="py-name">pub_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"-//W3C//DTD XHTML 1.0 Transitional//EN"</tt> </tt>
-<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line">        <tt class="py-name">sys_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</tt> </tt>
-<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line">        <tt class="py-name">doctype_string</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;!DOCTYPE html PUBLIC "%s" "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">pub_id</tt><tt class="py-op">,</tt> <tt class="py-name">sys_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line"> </tt>
-<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">        <tt id="link-3286" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3286', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3287" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3287', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_header</tt> <tt class="py-op">+</tt> <tt class="py-name">doctype_string</tt> <tt class="py-op">+</tt> <tt class="py-string">'&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line"> </tt>
-<a name="L3198"></a><tt class="py-lineno">3198</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3288" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3261', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3182"></a><tt class="py-lineno">3182</tt>  <tt class="py-line">        <tt class="py-name">xml_header</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;?xml version="1.0" encoding="ascii"?&gt;'</tt> </tt>
+<a name="L3183"></a><tt class="py-lineno">3183</tt>  <tt class="py-line">        <tt class="py-name">pub_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"-//W3C//DTD XHTML 1.0 Transitional//EN"</tt> </tt>
+<a name="L3184"></a><tt class="py-lineno">3184</tt>  <tt class="py-line">        <tt class="py-name">sys_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</tt> </tt>
+<a name="L3185"></a><tt class="py-lineno">3185</tt>  <tt class="py-line">        <tt class="py-name">doctype_string</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;!DOCTYPE html PUBLIC "%s" "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">pub_id</tt><tt class="py-op">,</tt> <tt class="py-name">sys_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L3186"></a><tt class="py-lineno">3186</tt>  <tt class="py-line"> </tt>
+<a name="L3187"></a><tt class="py-lineno">3187</tt>  <tt class="py-line">        <tt id="link-3262" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3262', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3263" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3263', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_header</tt> <tt class="py-op">+</tt> <tt class="py-name">doctype_string</tt> <tt class="py-op">+</tt> <tt class="py-string">'&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3188"></a><tt class="py-lineno">3188</tt>  <tt class="py-line"> </tt>
+<a name="L3189"></a><tt class="py-lineno">3189</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3264" 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-3288', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3289" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3264', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3265" 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-3289', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3290" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3290', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">        <tt id="link-3291" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3291', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3292" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3292', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3293" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3293', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3294" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3294', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"ascii"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3295" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3295', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3296" class="py-name" targets="Variable lxml.etree.DocInfo.xml_version=lxml.etree.DocInfo-class.html#xml_version"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3296', 'xml_version', 'link-3296');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3297" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3297', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3298" class="py-name" targets="Variable lxml.etree.DocInfo.public_id=lxml.etree.DocInfo-class.html#public_id"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3298', 'public_id', 'link-3298');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">pub_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3299" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3299', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3300" 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-3300', 'system_url', 'link-3300');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">sys_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L3204"></a><tt class="py-lineno">3204</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3301" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3301', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3302" class="py-name" targets="Variable lxml.etree.DocInfo.root_name=lxml.etree.DocInfo-class.html#root_name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3302', 'root_name', 'link-3302');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3303" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3303', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3304" class="py-name" targets="Variable lxml.etree.DocInfo.doctype=lxml.etree.DocInfo-class.html#doctype"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3304', 'doctype', 'link-3304');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-name">doctype_string</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_docinfo_system"></a><div id="ETreeOnlyTestCase.test_docinfo_system-def"><a name="L3207"></a><tt class="py-lineno">3207</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_system-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_system');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_system">test_docinfo_system</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_docinfo_system-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_system-expanded"><a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line">        <tt id="link-3305" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3265', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3266" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3266', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3190"></a><tt class="py-lineno">3190</tt>  <tt class="py-line">        <tt id="link-3267" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3267', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3268" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3268', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3191"></a><tt class="py-lineno">3191</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3269" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3269', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3270" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3270', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"ascii"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3192"></a><tt class="py-lineno">3192</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3271" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3271', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3272" class="py-name" targets="Variable lxml.etree.DocInfo.xml_version=lxml.etree.DocInfo-class.html#xml_version"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3272', 'xml_version', 'link-3272');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3193"></a><tt class="py-lineno">3193</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3273" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3273', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3274" class="py-name" targets="Variable lxml.etree.DocInfo.public_id=lxml.etree.DocInfo-class.html#public_id"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3274', 'public_id', 'link-3274');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">pub_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L3194"></a><tt class="py-lineno">3194</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3275" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3275', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3276" 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-3276', 'system_url', 'link-3276');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">sys_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L3195"></a><tt class="py-lineno">3195</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3277" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3277', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3278" class="py-name" targets="Variable lxml.etree.DocInfo.root_name=lxml.etree.DocInfo-class.html#root_name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3278', 'root_name', 'link-3278');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3196"></a><tt class="py-lineno">3196</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3279" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3279', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3280" class="py-name" targets="Variable lxml.etree.DocInfo.doctype=lxml.etree.DocInfo-class.html#doctype"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3280', 'doctype', 'link-3280');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-name">doctype_string</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3197"></a><tt class="py-lineno">3197</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_docinfo_system"></a><div id="ETreeOnlyTestCase.test_docinfo_system-def"><a name="L3198"></a><tt class="py-lineno">3198</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_system-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_system');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_system">test_docinfo_system</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_docinfo_system-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_system-expanded"><a name="L3199"></a><tt class="py-lineno">3199</tt>  <tt class="py-line">        <tt id="link-3281" 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-3305', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3306" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3281', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3282" 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-3306', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line">        <tt class="py-name">xml_header</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;?xml version="1.0" encoding="UTF-8"?&gt;'</tt> </tt>
-<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line">        <tt class="py-name">sys_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"some.dtd"</tt> </tt>
-<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line">        <tt class="py-name">doctype_string</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;!DOCTYPE html SYSTEM "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">sys_id</tt> </tt>
-<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line">        <tt id="link-3307" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3307', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3308" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3308', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_header</tt> <tt class="py-op">+</tt> <tt class="py-name">doctype_string</tt> <tt class="py-op">+</tt> <tt class="py-string">'&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line"> </tt>
-<a name="L3214"></a><tt class="py-lineno">3214</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3309" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3282', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3200"></a><tt class="py-lineno">3200</tt>  <tt class="py-line">        <tt class="py-name">xml_header</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;?xml version="1.0" encoding="UTF-8"?&gt;'</tt> </tt>
+<a name="L3201"></a><tt class="py-lineno">3201</tt>  <tt class="py-line">        <tt class="py-name">sys_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"some.dtd"</tt> </tt>
+<a name="L3202"></a><tt class="py-lineno">3202</tt>  <tt class="py-line">        <tt class="py-name">doctype_string</tt> <tt class="py-op">=</tt> <tt class="py-string">'&lt;!DOCTYPE html SYSTEM "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-name">sys_id</tt> </tt>
+<a name="L3203"></a><tt class="py-lineno">3203</tt>  <tt class="py-line">        <tt id="link-3283" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3283', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3284" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3284', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-name">xml_header</tt> <tt class="py-op">+</tt> <tt class="py-name">doctype_string</tt> <tt class="py-op">+</tt> <tt class="py-string">'&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3204"></a><tt class="py-lineno">3204</tt>  <tt class="py-line"> </tt>
+<a name="L3205"></a><tt class="py-lineno">3205</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3285" 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-3309', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3310" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3285', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3286" 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-3310', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3311" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3311', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line">        <tt id="link-3312" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3312', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3313" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3313', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3314" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3314', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3315" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3315', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"UTF-8"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3316" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3316', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3317" class="py-name"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3317', 'xml_version', 'link-3296');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3318" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3318', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3319" class="py-name"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3319', 'public_id', 'link-3298');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3320" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3320', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3321" class="py-name"><a title="lxml.etree.DTD.system_url
-lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-3321', 'system_url', 'link-3300');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">sys_id</tt><tt class="py-op">)</tt> </tt>
-<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3322" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3322', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3323" class="py-name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3323', 'root_name', 'link-3302');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3324" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3324', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3325" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3325', 'doctype', 'link-3304');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-name">doctype_string</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_docinfo_empty"></a><div id="ETreeOnlyTestCase.test_docinfo_empty-def"><a name="L3223"></a><tt class="py-lineno">3223</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_empty">test_docinfo_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="ETreeOnlyTestCase.test_docinfo_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_empty-expanded"><a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">        <tt id="link-3326" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3286', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3287" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3287', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3206"></a><tt class="py-lineno">3206</tt>  <tt class="py-line">        <tt id="link-3288" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3288', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3289" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3289', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3207"></a><tt class="py-lineno">3207</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3290" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3290', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3291" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3291', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"UTF-8"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3208"></a><tt class="py-lineno">3208</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3292" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3292', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3293" class="py-name"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3293', 'xml_version', 'link-3272');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3209"></a><tt class="py-lineno">3209</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3294" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3294', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3295" class="py-name"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3295', 'public_id', 'link-3274');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L3210"></a><tt class="py-lineno">3210</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3296" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3296', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3297" class="py-name"><a title="lxml.etree.DTD.system_url
+lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-3297', 'system_url', 'link-3276');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">sys_id</tt><tt class="py-op">)</tt> </tt>
+<a name="L3211"></a><tt class="py-lineno">3211</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3298" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3298', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3299" class="py-name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3299', 'root_name', 'link-3278');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3212"></a><tt class="py-lineno">3212</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3300" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3300', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3301" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3301', 'doctype', 'link-3280');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-name">doctype_string</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3213"></a><tt class="py-lineno">3213</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_docinfo_empty"></a><div id="ETreeOnlyTestCase.test_docinfo_empty-def"><a name="L3214"></a><tt class="py-lineno">3214</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_empty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_empty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_empty">test_docinfo_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="ETreeOnlyTestCase.test_docinfo_empty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_empty-expanded"><a name="L3215"></a><tt class="py-lineno">3215</tt>  <tt class="py-line">        <tt id="link-3302" 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-3326', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3327" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3302', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3303" 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-3327', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line">        <tt id="link-3328" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3328', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3329" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3329', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3226"></a><tt class="py-lineno">3226</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3330" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3303', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3216"></a><tt class="py-lineno">3216</tt>  <tt class="py-line">        <tt id="link-3304" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3304', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3305" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3305', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3217"></a><tt class="py-lineno">3217</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3306" 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-3330', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3331" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3306', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3307" 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-3331', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3332" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3332', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">        <tt id="link-3333" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3333', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3334" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3334', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3335" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3335', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3336" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3336', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"UTF-8"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3337" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3337', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3338" class="py-name"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3338', 'xml_version', 'link-3296');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3339" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3339', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3340" class="py-name"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3340', 'public_id', 'link-3298');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3341" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3341', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3342" class="py-name"><a title="lxml.etree.DTD.system_url
-lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-3342', 'system_url', 'link-3300');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3343" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3343', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3344" class="py-name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3344', 'root_name', 'link-3302');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3345" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3345', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3346" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3346', 'doctype', 'link-3304');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_docinfo_name_only"></a><div id="ETreeOnlyTestCase.test_docinfo_name_only-def"><a name="L3235"></a><tt class="py-lineno">3235</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_name_only-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_name_only');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_name_only">test_docinfo_name_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="ETreeOnlyTestCase.test_docinfo_name_only-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_name_only-expanded"><a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">        <tt id="link-3347" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3307', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3308" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3308', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3218"></a><tt class="py-lineno">3218</tt>  <tt class="py-line">        <tt id="link-3309" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3309', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3310" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3310', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3219"></a><tt class="py-lineno">3219</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3311" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3311', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3312" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3312', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"UTF-8"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3220"></a><tt class="py-lineno">3220</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3313" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3313', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3314" class="py-name"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3314', 'xml_version', 'link-3272');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3221"></a><tt class="py-lineno">3221</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3315" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3315', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3316" class="py-name"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3316', 'public_id', 'link-3274');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L3222"></a><tt class="py-lineno">3222</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3317" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3317', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3318" class="py-name"><a title="lxml.etree.DTD.system_url
+lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-3318', 'system_url', 'link-3276');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L3223"></a><tt class="py-lineno">3223</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3319" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3319', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3320" class="py-name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3320', 'root_name', 'link-3278');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3224"></a><tt class="py-lineno">3224</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3321" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3321', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3322" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3322', 'doctype', 'link-3280');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-string">''</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3225"></a><tt class="py-lineno">3225</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_docinfo_name_only"></a><div id="ETreeOnlyTestCase.test_docinfo_name_only-def"><a name="L3226"></a><tt class="py-lineno">3226</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_docinfo_name_only-toggle" onclick="return toggle('ETreeOnlyTestCase.test_docinfo_name_only');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_docinfo_name_only">test_docinfo_name_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="ETreeOnlyTestCase.test_docinfo_name_only-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_docinfo_name_only-expanded"><a name="L3227"></a><tt class="py-lineno">3227</tt>  <tt class="py-line">        <tt id="link-3323" 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-3347', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3348" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3323', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3324" 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-3348', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line">        <tt id="link-3349" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3349', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3350" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3350', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;&lt;root&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3238"></a><tt class="py-lineno">3238</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3351" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3324', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3228"></a><tt class="py-lineno">3228</tt>  <tt class="py-line">        <tt id="link-3325" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3325', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3326" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3326', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;&lt;root&gt;&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3229"></a><tt class="py-lineno">3229</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3327" 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-3351', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3352" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3327', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3328" 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-3352', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3353" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3353', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line">        <tt id="link-3354" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3354', 'docinfo', 'link-3229');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3355" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3355', 'docinfo', 'link-3229');">docinfo</a></tt> </tt>
-<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3356" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3356', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3357" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3357', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"UTF-8"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3358" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3358', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3359" class="py-name"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3359', 'xml_version', 'link-3296');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3360" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3360', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3361" class="py-name"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3361', 'public_id', 'link-3298');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3362" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3362', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3363" class="py-name"><a title="lxml.etree.DTD.system_url
-lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-3363', 'system_url', 'link-3300');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L3244"></a><tt class="py-lineno">3244</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3364" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3364', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3365" class="py-name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3365', 'root_name', 'link-3302');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3366" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3366', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3367" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3367', 'doctype', 'link-3304');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&lt;!DOCTYPE root&gt;'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_doctype_name_only_roundtrip"></a><div id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-def"><a name="L3247"></a><tt class="py-lineno">3247</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-toggle" onclick="return toggle('ETreeOnlyTestCase.test_doctype_name_only_roundtrip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_name_only_roundtrip">test_doctype_name_only_roundtrip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-expanded"><a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">        <tt id="link-3368" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3328', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3329" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3329', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3230"></a><tt class="py-lineno">3230</tt>  <tt class="py-line">        <tt id="link-3330" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3330', 'docinfo', 'link-3205');">docinfo</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3331" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3331', 'docinfo', 'link-3205');">docinfo</a></tt> </tt>
+<a name="L3231"></a><tt class="py-lineno">3231</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3332" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3332', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3333" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3333', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt>    <tt class="py-string">"UTF-8"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3232"></a><tt class="py-lineno">3232</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3334" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3334', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3335" class="py-name"><a title="lxml.etree.DocInfo.xml_version" class="py-name" href="#" onclick="return doclink('link-3335', 'xml_version', 'link-3272');">xml_version</a></tt><tt class="py-op">,</tt> <tt class="py-string">"1.0"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3233"></a><tt class="py-lineno">3233</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3336" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3336', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3337" class="py-name"><a title="lxml.etree.DocInfo.public_id" class="py-name" href="#" onclick="return doclink('link-3337', 'public_id', 'link-3274');">public_id</a></tt><tt class="py-op">,</tt>   <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L3234"></a><tt class="py-lineno">3234</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3338" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3338', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3339" class="py-name"><a title="lxml.etree.DTD.system_url
+lxml.etree.DocInfo.system_url" class="py-name" href="#" onclick="return doclink('link-3339', 'system_url', 'link-3276');">system_url</a></tt><tt class="py-op">,</tt>  <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L3235"></a><tt class="py-lineno">3235</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3340" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3340', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3341" class="py-name"><a title="lxml.etree.DocInfo.root_name" class="py-name" href="#" onclick="return doclink('link-3341', 'root_name', 'link-3278');">root_name</a></tt><tt class="py-op">,</tt>   <tt class="py-string">'root'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3236"></a><tt class="py-lineno">3236</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3342" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3342', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3343" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3343', 'doctype', 'link-3280');">doctype</a></tt><tt class="py-op">,</tt> <tt class="py-string">'&lt;!DOCTYPE root&gt;'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3237"></a><tt class="py-lineno">3237</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_doctype_name_only_roundtrip"></a><div id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-def"><a name="L3238"></a><tt class="py-lineno">3238</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-toggle" onclick="return toggle('ETreeOnlyTestCase.test_doctype_name_only_roundtrip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_name_only_roundtrip">test_doctype_name_only_roundtrip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_doctype_name_only_roundtrip-expanded"><a name="L3239"></a><tt class="py-lineno">3239</tt>  <tt class="py-line">        <tt id="link-3344" 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-3368', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3369" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3344', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3345" 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-3369', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line">        <tt id="link-3370" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3370', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3371" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3371', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;\n&lt;root/&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3372" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3345', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3240"></a><tt class="py-lineno">3240</tt>  <tt class="py-line">        <tt id="link-3346" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3346', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3347" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3347', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;\n&lt;root/&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3241"></a><tt class="py-lineno">3241</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3348" 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-3372', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3373" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3348', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3349" 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-3373', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3374" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3374', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3375" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3375', 'xml', 'link-308');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-3376" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3349', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3350" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3350', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3242"></a><tt class="py-lineno">3242</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3351" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3351', 'xml', 'link-319');">xml</a></tt><tt class="py-op">,</tt> <tt id="link-3352" 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-3376', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3377" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3377', 'tostring', 'link-649');">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="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_doctype_output_override"></a><div id="ETreeOnlyTestCase.test_doctype_output_override-def"><a name="L3253"></a><tt class="py-lineno">3253</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_doctype_output_override-toggle" onclick="return toggle('ETreeOnlyTestCase.test_doctype_output_override');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_output_override">test_doctype_output_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="ETreeOnlyTestCase.test_doctype_output_override-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_doctype_output_override-expanded"><a name="L3254"></a><tt class="py-lineno">3254</tt>  <tt class="py-line">        <tt id="link-3378" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3352', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3353" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3353', 'tostring', 'link-660');">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="L3243"></a><tt class="py-lineno">3243</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_doctype_output_override"></a><div id="ETreeOnlyTestCase.test_doctype_output_override-def"><a name="L3244"></a><tt class="py-lineno">3244</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_doctype_output_override-toggle" onclick="return toggle('ETreeOnlyTestCase.test_doctype_output_override');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_doctype_output_override">test_doctype_output_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="ETreeOnlyTestCase.test_doctype_output_override-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_doctype_output_override-expanded"><a name="L3245"></a><tt class="py-lineno">3245</tt>  <tt class="py-line">        <tt id="link-3354" 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-3378', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3379" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3354', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3355" 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-3379', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3255"></a><tt class="py-lineno">3255</tt>  <tt class="py-line">        <tt class="py-name">pub_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"-//W3C//DTD XHTML 1.0 Transitional//EN"</tt> </tt>
-<a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line">        <tt class="py-name">sys_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</tt> </tt>
-<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line">        <tt class="py-name">doctype_string</tt> <tt class="py-op">=</tt> <tt id="link-3380" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3380', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE html PUBLIC "%s" "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">pub_id</tt><tt class="py-op">,</tt> <tt class="py-name">sys_id</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line"> </tt>
-<a name="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-line">        <tt id="link-3381" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3381', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3382" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3382', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;\n&lt;root/&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3383" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3355', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3246"></a><tt class="py-lineno">3246</tt>  <tt class="py-line">        <tt class="py-name">pub_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"-//W3C//DTD XHTML 1.0 Transitional//EN"</tt> </tt>
+<a name="L3247"></a><tt class="py-lineno">3247</tt>  <tt class="py-line">        <tt class="py-name">sys_id</tt> <tt class="py-op">=</tt> <tt class="py-string">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</tt> </tt>
+<a name="L3248"></a><tt class="py-lineno">3248</tt>  <tt class="py-line">        <tt class="py-name">doctype_string</tt> <tt class="py-op">=</tt> <tt id="link-3356" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3356', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE html PUBLIC "%s" "%s"&gt;'</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">pub_id</tt><tt class="py-op">,</tt> <tt class="py-name">sys_id</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3249"></a><tt class="py-lineno">3249</tt>  <tt class="py-line"> </tt>
+<a name="L3250"></a><tt class="py-lineno">3250</tt>  <tt class="py-line">        <tt id="link-3357" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3357', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3358" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3358', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;\n&lt;root/&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3251"></a><tt class="py-lineno">3251</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3359" 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-3383', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3384" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3359', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3360" 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-3384', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3385" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3385', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3386" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3386', 'xml', 'link-308');">xml</a></tt><tt class="py-op">.</tt><tt id="link-3387" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3387', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt id="link-3388" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3388', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">doctype_string</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line">                          <tt id="link-3389" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3360', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3361" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3361', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3252"></a><tt class="py-lineno">3252</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3362" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3362', 'xml', 'link-319');">xml</a></tt><tt class="py-op">.</tt><tt id="link-3363" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3363', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt id="link-3364" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3364', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!DOCTYPE root&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">doctype_string</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3253"></a><tt class="py-lineno">3253</tt>  <tt class="py-line">                          <tt id="link-3365" 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-3389', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3390" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3390', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-3391" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3391', 'doctype', 'link-3304');">doctype</a></tt><tt class="py-op">=</tt><tt class="py-name">doctype_string</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_xml_base"></a><div id="ETreeOnlyTestCase.test_xml_base-def"><a name="L3264"></a><tt class="py-lineno">3264</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_xml_base-toggle" onclick="return toggle('ETreeOnlyTestCase.test_xml_base');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_xml_base-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_xml_base-expanded"><a name="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line">        <tt id="link-3392" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3365', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3366" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3366', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-3367" class="py-name"><a title="lxml.etree.DocInfo.doctype" class="py-name" href="#" onclick="return doclink('link-3367', 'doctype', 'link-3280');">doctype</a></tt><tt class="py-op">=</tt><tt class="py-name">doctype_string</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3254"></a><tt class="py-lineno">3254</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_xml_base"></a><div id="ETreeOnlyTestCase.test_xml_base-def"><a name="L3255"></a><tt class="py-lineno">3255</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_xml_base-toggle" onclick="return toggle('ETreeOnlyTestCase.test_xml_base');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_xml_base-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_xml_base-expanded"><a name="L3256"></a><tt class="py-lineno">3256</tt>  <tt class="py-line">        <tt id="link-3368" 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-3392', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3393" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3368', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3369" 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-3393', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line">        <tt id="link-3394" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3394', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3395" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3369', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3257"></a><tt class="py-lineno">3257</tt>  <tt class="py-line">        <tt id="link-3370" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3370', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3371" 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-3395', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3396" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3371', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3372" 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-3396', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3397" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3397', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3398" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3398', 'base_url', 'link-1407');">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="L3267"></a><tt class="py-lineno">3267</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3399" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3399', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3400" 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-3400', 'base', 'link-3400');">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="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-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="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line">            <tt id="link-3401" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3401', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3402" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3372', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3373" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3373', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3374" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3374', 'base_url', 'link-1409');">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="L3258"></a><tt class="py-lineno">3258</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3375" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3375', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3376" 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-3376', 'base', 'link-3376');">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="L3259"></a><tt class="py-lineno">3259</tt>  <tt class="py-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="L3260"></a><tt class="py-lineno">3260</tt>  <tt class="py-line">            <tt id="link-3377" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3377', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3378" 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-3402', 'get', 'link-238');">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="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line">        <tt id="link-3403" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3403', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3404" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3404', 'base', 'link-3400');">base</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
-<a name="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3405" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3405', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3406" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3406', 'base', 'link-3400');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-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="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">            <tt id="link-3407" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3407', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3408" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3378', 'get', 'link-238');">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="L3261"></a><tt class="py-lineno">3261</tt>  <tt class="py-line">        <tt id="link-3379" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3379', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3380" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3380', 'base', 'link-3376');">base</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"https://secret/url"</tt> </tt>
+<a name="L3262"></a><tt class="py-lineno">3262</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3381" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3381', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3382" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3382', 'base', 'link-3376');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3263"></a><tt class="py-lineno">3263</tt>  <tt class="py-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="L3264"></a><tt class="py-lineno">3264</tt>  <tt class="py-line">            <tt id="link-3383" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3383', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3384" 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-3408', 'get', 'link-238');">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="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">            <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_xml_base_attribute"></a><div id="ETreeOnlyTestCase.test_xml_base_attribute-def"><a name="L3276"></a><tt class="py-lineno">3276</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_xml_base_attribute-toggle" onclick="return toggle('ETreeOnlyTestCase.test_xml_base_attribute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_xml_base_attribute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_xml_base_attribute-expanded"><a name="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line">        <tt id="link-3409" class="py-name"><a title="lxml.etree
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3384', 'get', 'link-238');">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="L3265"></a><tt class="py-lineno">3265</tt>  <tt class="py-line">            <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3266"></a><tt class="py-lineno">3266</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_xml_base_attribute"></a><div id="ETreeOnlyTestCase.test_xml_base_attribute-def"><a name="L3267"></a><tt class="py-lineno">3267</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_xml_base_attribute-toggle" onclick="return toggle('ETreeOnlyTestCase.test_xml_base_attribute');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-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="ETreeOnlyTestCase.test_xml_base_attribute-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_xml_base_attribute-expanded"><a name="L3268"></a><tt class="py-lineno">3268</tt>  <tt class="py-line">        <tt id="link-3385" 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-3409', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3410" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3385', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3386" 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-3410', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">        <tt id="link-3411" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3411', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3412" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3386', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3269"></a><tt class="py-lineno">3269</tt>  <tt class="py-line">        <tt id="link-3387" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3387', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3388" 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-3412', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3413" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3388', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3389" 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-3413', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3414" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3414', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3415" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3415', 'base_url', 'link-1407');">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="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3416" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3416', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3417" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3417', 'base', 'link-3400');">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="L3280"></a><tt class="py-lineno">3280</tt>  <tt class="py-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="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">            <tt id="link-3418" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3418', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3419" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3389', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3390" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3390', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3391" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3391', 'base_url', 'link-1409');">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="L3270"></a><tt class="py-lineno">3270</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3392" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3392', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3393" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3393', 'base', 'link-3376');">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="L3271"></a><tt class="py-lineno">3271</tt>  <tt class="py-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="L3272"></a><tt class="py-lineno">3272</tt>  <tt class="py-line">            <tt id="link-3394" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3394', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3395" 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-3419', 'get', 'link-238');">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="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line">        <tt id="link-3420" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3420', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3421" class="py-name"><a title="lxml.etree._Element.set
-lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-3421', 'set', 'link-236');">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="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">                 <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3422" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3422', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3423" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3423', 'base', 'link-3400');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-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="L3286"></a><tt class="py-lineno">3286</tt>  <tt class="py-line">            <tt id="link-3424" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3424', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3425" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3395', 'get', 'link-238');">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="L3273"></a><tt class="py-lineno">3273</tt>  <tt class="py-line">        <tt id="link-3396" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3396', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3397" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-3397', 'set', 'link-236');">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="L3274"></a><tt class="py-lineno">3274</tt>  <tt class="py-line">                 <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3275"></a><tt class="py-lineno">3275</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3398" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3398', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3399" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3399', 'base', 'link-3376');">base</a></tt><tt class="py-op">,</tt> <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3276"></a><tt class="py-lineno">3276</tt>  <tt class="py-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="L3277"></a><tt class="py-lineno">3277</tt>  <tt class="py-line">            <tt id="link-3400" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3400', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3401" 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-3425', 'get', 'link-238');">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="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line">            <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_html_base"></a><div id="ETreeOnlyTestCase.test_html_base-def"><a name="L3289"></a><tt class="py-lineno">3289</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_html_base-toggle" onclick="return toggle('ETreeOnlyTestCase.test_html_base');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_base">test_html_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="ETreeOnlyTestCase.test_html_base-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_html_base-expanded"><a name="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line">        <tt id="link-3426" class="py-name"><a title="lxml.etree
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3401', 'get', 'link-238');">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="L3278"></a><tt class="py-lineno">3278</tt>  <tt class="py-line">            <tt class="py-string">"https://secret/url"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3279"></a><tt class="py-lineno">3279</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_html_base"></a><div id="ETreeOnlyTestCase.test_html_base-def"><a name="L3280"></a><tt class="py-lineno">3280</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_html_base-toggle" onclick="return toggle('ETreeOnlyTestCase.test_html_base');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_base">test_html_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="ETreeOnlyTestCase.test_html_base-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_html_base-expanded"><a name="L3281"></a><tt class="py-lineno">3281</tt>  <tt class="py-line">        <tt id="link-3402" 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-3426', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3427" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3402', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3403" 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-3427', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3291"></a><tt class="py-lineno">3291</tt>  <tt class="py-line">        <tt id="link-3428" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3428', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3429" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3403', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3282"></a><tt class="py-lineno">3282</tt>  <tt class="py-line">        <tt id="link-3404" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3404', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3405" 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-3429', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3430" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3405', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3406" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-3430', 'HTML', 'link-641');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-3431" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3431', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">                          <tt id="link-3432" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3432', 'base_url', 'link-1407');">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="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3433" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3433', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3434" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3434', 'base', 'link-3400');">base</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="L3294"></a><tt class="py-lineno">3294</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_html_base_tag"></a><div id="ETreeOnlyTestCase.test_html_base_tag-def"><a name="L3295"></a><tt class="py-lineno">3295</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_html_base_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_html_base_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_base_tag">test_html_base_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_html_base_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_html_base_tag-expanded"><a name="L3296"></a><tt class="py-lineno">3296</tt>  <tt class="py-line">        <tt id="link-3435" class="py-name"><a title="lxml.etree
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-3406', 'HTML', 'link-652');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-3407" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3407', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;html&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3283"></a><tt class="py-lineno">3283</tt>  <tt class="py-line">                          <tt id="link-3408" class="py-name"><a title="lxml.html.HtmlMixin.base_url" class="py-name" href="#" onclick="return doclink('link-3408', 'base_url', 'link-1409');">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="L3284"></a><tt class="py-lineno">3284</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3409" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3409', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3410" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3410', 'base', 'link-3376');">base</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="L3285"></a><tt class="py-lineno">3285</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_html_base_tag"></a><div id="ETreeOnlyTestCase.test_html_base_tag-def"><a name="L3286"></a><tt class="py-lineno">3286</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_html_base_tag-toggle" onclick="return toggle('ETreeOnlyTestCase.test_html_base_tag');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_html_base_tag">test_html_base_tag</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_html_base_tag-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_html_base_tag-expanded"><a name="L3287"></a><tt class="py-lineno">3287</tt>  <tt class="py-line">        <tt id="link-3411" 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-3435', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3436" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3411', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3412" 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-3436', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L3297"></a><tt class="py-lineno">3297</tt>  <tt class="py-line">        <tt id="link-3437" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3437', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3438" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3412', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L3288"></a><tt class="py-lineno">3288</tt>  <tt class="py-line">        <tt id="link-3413" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3413', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3414" 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-3438', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3439" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3414', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3415" class="py-name"><a title="lxml.etree.ErrorDomains.HTML
 lxml.etree.HTML
 lxml.html.builder.HTML
-lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-3439', 'HTML', 'link-641');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-3440" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3440', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;html&gt;&lt;head&gt;&lt;base href="http://no/such/url"&gt;&lt;/head&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3298"></a><tt class="py-lineno">3298</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3441" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3441', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3442" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3442', 'base', 'link-3400');">base</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="L3299"></a><tt class="py-lineno">3299</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_parse_fileobject_unicode"></a><div id="ETreeOnlyTestCase.test_parse_fileobject_unicode-def"><a name="L3300"></a><tt class="py-lineno">3300</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_fileobject_unicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parse_fileobject_unicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_fileobject_unicode">test_parse_fileobject_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="ETreeOnlyTestCase.test_parse_fileobject_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_fileobject_unicode-expanded"><a name="L3301"></a><tt class="py-lineno">3301</tt>  <tt class="py-line">        <tt class="py-comment"># parse from a file object that returns unicode strings</tt> </tt>
-<a name="L3302"></a><tt class="py-lineno">3302</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-3443" class="py-name"><a title="lxml.tests.common_imports.LargeFileLikeUnicode" class="py-name" href="#" onclick="return doclink('link-3443', 'LargeFileLikeUnicode', 'link-19');">LargeFileLikeUnicode</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3303"></a><tt class="py-lineno">3303</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-3444" class="py-name"><a title="lxml.etree
+lxml.tests.test_css.HTML" class="py-name" href="#" onclick="return doclink('link-3415', 'HTML', 'link-652');">HTML</a></tt><tt class="py-op">(</tt><tt id="link-3416" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3416', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;html&gt;&lt;head&gt;&lt;base href="http://no/such/url"&gt;&lt;/head&gt;&lt;/html&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3289"></a><tt class="py-lineno">3289</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3417" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3417', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3418" class="py-name"><a title="lxml.etree._Element.base" class="py-name" href="#" onclick="return doclink('link-3418', 'base', 'link-3376');">base</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="L3290"></a><tt class="py-lineno">3290</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_parse_fileobject_unicode"></a><div id="ETreeOnlyTestCase.test_parse_fileobject_unicode-def"><a name="L3291"></a><tt class="py-lineno">3291</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_parse_fileobject_unicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_parse_fileobject_unicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_parse_fileobject_unicode">test_parse_fileobject_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="ETreeOnlyTestCase.test_parse_fileobject_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_parse_fileobject_unicode-expanded"><a name="L3292"></a><tt class="py-lineno">3292</tt>  <tt class="py-line">        <tt class="py-comment"># parse from a file object that returns unicode strings</tt> </tt>
+<a name="L3293"></a><tt class="py-lineno">3293</tt>  <tt class="py-line">        <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt id="link-3419" class="py-name"><a title="lxml.tests.common_imports.LargeFileLikeUnicode" class="py-name" href="#" onclick="return doclink('link-3419', 'LargeFileLikeUnicode', 'link-19');">LargeFileLikeUnicode</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3294"></a><tt class="py-lineno">3294</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-3420" 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-3444', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3445" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3420', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3421" 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-3445', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L3304"></a><tt class="py-lineno">3304</tt>  <tt class="py-line">        <tt id="link-3446" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3446', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3447" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-3447', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3305"></a><tt class="py-lineno">3305</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-3448" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3448', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3449" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3421', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L3295"></a><tt class="py-lineno">3295</tt>  <tt class="py-line">        <tt id="link-3422" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3422', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3423" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-3423', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3296"></a><tt class="py-lineno">3296</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-3424" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3424', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3425" 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-3449', 'tag', 'link-68');">tag</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</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="L3306"></a><tt class="py-lineno">3306</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_dtd_io"></a><div id="ETreeOnlyTestCase.test_dtd_io-def"><a name="L3307"></a><tt class="py-lineno">3307</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_dtd_io-toggle" onclick="return toggle('ETreeOnlyTestCase.test_dtd_io');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dtd_io">test_dtd_io</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_dtd_io-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_dtd_io-expanded"><a name="L3308"></a><tt class="py-lineno">3308</tt>  <tt class="py-line">        <tt class="py-comment"># check that DTDs that go in also go back out</tt> </tt>
-<a name="L3309"></a><tt class="py-lineno">3309</tt>  <tt class="py-line">        <tt id="link-3450" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3450', 'xml', 'link-308');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3451" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3451', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L3310"></a><tt class="py-lineno">3310</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE test SYSTEM "test.dtd" [</tt> </tt>
-<a name="L3311"></a><tt class="py-lineno">3311</tt>  <tt class="py-line"><tt class="py-string">          &lt;!ENTITY entity "tasty"&gt;</tt> </tt>
-<a name="L3312"></a><tt class="py-lineno">3312</tt>  <tt class="py-line"><tt class="py-string">          &lt;!ELEMENT test (a)&gt;</tt> </tt>
-<a name="L3313"></a><tt class="py-lineno">3313</tt>  <tt class="py-line"><tt class="py-string">          &lt;!ELEMENT a (#PCDATA)&gt;</tt> </tt>
-<a name="L3314"></a><tt class="py-lineno">3314</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
-<a name="L3315"></a><tt class="py-lineno">3315</tt>  <tt class="py-line"><tt class="py-string">        &lt;test&gt;&lt;a&gt;test-test&lt;/a&gt;&lt;/test&gt;\</tt> </tt>
-<a name="L3316"></a><tt class="py-lineno">3316</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L3317"></a><tt class="py-lineno">3317</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-3452" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3425', 'tag', 'link-68');">tag</a></tt><tt class="py-op">.</tt><tt class="py-name">endswith</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="L3297"></a><tt class="py-lineno">3297</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_dtd_io"></a><div id="ETreeOnlyTestCase.test_dtd_io-def"><a name="L3298"></a><tt class="py-lineno">3298</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_dtd_io-toggle" onclick="return toggle('ETreeOnlyTestCase.test_dtd_io');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_dtd_io">test_dtd_io</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_dtd_io-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_dtd_io-expanded"><a name="L3299"></a><tt class="py-lineno">3299</tt>  <tt class="py-line">        <tt class="py-comment"># check that DTDs that go in also go back out</tt> </tt>
+<a name="L3300"></a><tt class="py-lineno">3300</tt>  <tt class="py-line">        <tt id="link-3426" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3426', 'xml', 'link-319');">xml</a></tt> <tt class="py-op">=</tt> <tt id="link-3427" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3427', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L3301"></a><tt class="py-lineno">3301</tt>  <tt class="py-line"><tt class="py-string">        &lt;!DOCTYPE test SYSTEM "test.dtd" [</tt> </tt>
+<a name="L3302"></a><tt class="py-lineno">3302</tt>  <tt class="py-line"><tt class="py-string">          &lt;!ENTITY entity "tasty"&gt;</tt> </tt>
+<a name="L3303"></a><tt class="py-lineno">3303</tt>  <tt class="py-line"><tt class="py-string">          &lt;!ELEMENT test (a)&gt;</tt> </tt>
+<a name="L3304"></a><tt class="py-lineno">3304</tt>  <tt class="py-line"><tt class="py-string">          &lt;!ELEMENT a (#PCDATA)&gt;</tt> </tt>
+<a name="L3305"></a><tt class="py-lineno">3305</tt>  <tt class="py-line"><tt class="py-string">        ]&gt;</tt> </tt>
+<a name="L3306"></a><tt class="py-lineno">3306</tt>  <tt class="py-line"><tt class="py-string">        &lt;test&gt;&lt;a&gt;test-test&lt;/a&gt;&lt;/test&gt;\</tt> </tt>
+<a name="L3307"></a><tt class="py-lineno">3307</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L3308"></a><tt class="py-lineno">3308</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-3428" 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-3452', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3453" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3428', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3429" 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-3453', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3454" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3454', 'xml', 'link-308');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3318"></a><tt class="py-lineno">3318</tt>  <tt class="py-line">        <tt 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-3455" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3429', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt id="link-3430" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3430', 'xml', 'link-319');">xml</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3309"></a><tt class="py-lineno">3309</tt>  <tt class="py-line">        <tt 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-3431" 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-3455', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3456" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3456', 'tostring', 'link-649');">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 id="link-3457" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3457', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt id="link-3458" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3458', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3459" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3459', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3319"></a><tt class="py-lineno">3319</tt>  <tt class="py-line">                         <tt id="link-3460" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3460', 'xml', 'link-308');">xml</a></tt><tt class="py-op">.</tt><tt id="link-3461" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3461', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt><tt id="link-3462" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3462', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3463" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3463', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3320"></a><tt class="py-lineno">3320</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_byte_zero"></a><div id="ETreeOnlyTestCase.test_byte_zero-def"><a name="L3321"></a><tt class="py-lineno">3321</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_byte_zero-toggle" onclick="return toggle('ETreeOnlyTestCase.test_byte_zero');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_byte_zero">test_byte_zero</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_byte_zero-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_byte_zero-expanded"><a name="L3322"></a><tt class="py-lineno">3322</tt>  <tt class="py-line">        <tt id="link-3464" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3431', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3432" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3432', 'tostring', 'link-660');">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 id="link-3433" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3433', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt id="link-3434" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3434', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3435" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3435', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3310"></a><tt class="py-lineno">3310</tt>  <tt class="py-line">                         <tt id="link-3436" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.xml" class="py-name" href="#" onclick="return doclink('link-3436', 'xml', 'link-319');">xml</a></tt><tt class="py-op">.</tt><tt id="link-3437" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-3437', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt><tt id="link-3438" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3438', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">" "</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-3439" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3439', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3311"></a><tt class="py-lineno">3311</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_byte_zero"></a><div id="ETreeOnlyTestCase.test_byte_zero-def"><a name="L3312"></a><tt class="py-lineno">3312</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_byte_zero-toggle" onclick="return toggle('ETreeOnlyTestCase.test_byte_zero');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_byte_zero">test_byte_zero</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_byte_zero-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_byte_zero-expanded"><a name="L3313"></a><tt class="py-lineno">3313</tt>  <tt class="py-line">        <tt id="link-3440" 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-3464', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3465" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3440', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3441" 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-3465', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3466" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3441', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3442" 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-3466', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3323"></a><tt class="py-lineno">3323</tt>  <tt class="py-line"> </tt>
-<a name="L3324"></a><tt class="py-lineno">3324</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3467" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3442', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3314"></a><tt class="py-lineno">3314</tt>  <tt class="py-line"> </tt>
+<a name="L3315"></a><tt class="py-lineno">3315</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3443" 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-3467', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3325"></a><tt class="py-lineno">3325</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-3468" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3468', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3326"></a><tt class="py-lineno">3326</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-3469" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3469', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3327"></a><tt class="py-lineno">3327</tt>  <tt class="py-line"> </tt>
-<a name="L3328"></a><tt class="py-lineno">3328</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-3470" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3443', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3316"></a><tt class="py-lineno">3316</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-3444" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3444', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3317"></a><tt class="py-lineno">3317</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-3445" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3445', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3318"></a><tt class="py-lineno">3318</tt>  <tt class="py-line"> </tt>
+<a name="L3319"></a><tt class="py-lineno">3319</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-3446" 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-3470', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> <tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3329"></a><tt class="py-lineno">3329</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_unicode_byte_zero"></a><div id="ETreeOnlyTestCase.test_unicode_byte_zero-def"><a name="L3330"></a><tt class="py-lineno">3330</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_unicode_byte_zero-toggle" onclick="return toggle('ETreeOnlyTestCase.test_unicode_byte_zero');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_zero">test_unicode_byte_zero</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_unicode_byte_zero-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_unicode_byte_zero-expanded"><a name="L3331"></a><tt class="py-lineno">3331</tt>  <tt class="py-line">        <tt id="link-3471" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3446', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> <tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3320"></a><tt class="py-lineno">3320</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_unicode_byte_zero"></a><div id="ETreeOnlyTestCase.test_unicode_byte_zero-def"><a name="L3321"></a><tt class="py-lineno">3321</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_unicode_byte_zero-toggle" onclick="return toggle('ETreeOnlyTestCase.test_unicode_byte_zero');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_zero">test_unicode_byte_zero</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_unicode_byte_zero-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_unicode_byte_zero-expanded"><a name="L3322"></a><tt class="py-lineno">3322</tt>  <tt class="py-line">        <tt id="link-3447" 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-3471', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3472" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3447', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3448" 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-3472', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3473" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3448', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3449" 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-3473', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3332"></a><tt class="py-lineno">3332</tt>  <tt class="py-line"> </tt>
-<a name="L3333"></a><tt class="py-lineno">3333</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3474" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3449', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3323"></a><tt class="py-lineno">3323</tt>  <tt class="py-line"> </tt>
+<a name="L3324"></a><tt class="py-lineno">3324</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3450" 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-3474', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3334"></a><tt class="py-lineno">3334</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-3475" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3475', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3335"></a><tt class="py-lineno">3335</tt>  <tt class="py-line">                          <tt id="link-3476" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3476', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3336"></a><tt class="py-lineno">3336</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-3477" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3477', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3337"></a><tt class="py-lineno">3337</tt>  <tt class="py-line">                          <tt id="link-3478" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3478', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3338"></a><tt class="py-lineno">3338</tt>  <tt class="py-line"> </tt>
-<a name="L3339"></a><tt class="py-lineno">3339</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-3479" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3450', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3325"></a><tt class="py-lineno">3325</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-3451" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3451', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3326"></a><tt class="py-lineno">3326</tt>  <tt class="py-line">                          <tt id="link-3452" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3452', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3327"></a><tt class="py-lineno">3327</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-3453" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3453', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3328"></a><tt class="py-lineno">3328</tt>  <tt class="py-line">                          <tt id="link-3454" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3454', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3329"></a><tt class="py-lineno">3329</tt>  <tt class="py-line"> </tt>
+<a name="L3330"></a><tt class="py-lineno">3330</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-3455" 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-3479', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L3340"></a><tt class="py-lineno">3340</tt>  <tt class="py-line">                          <tt id="link-3480" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3480', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3341"></a><tt class="py-lineno">3341</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_byte_invalid"></a><div id="ETreeOnlyTestCase.test_byte_invalid-def"><a name="L3342"></a><tt class="py-lineno">3342</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_byte_invalid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_byte_invalid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_byte_invalid">test_byte_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="ETreeOnlyTestCase.test_byte_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_byte_invalid-expanded"><a name="L3343"></a><tt class="py-lineno">3343</tt>  <tt class="py-line">        <tt id="link-3481" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3455', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3331"></a><tt class="py-lineno">3331</tt>  <tt class="py-line">                          <tt id="link-3456" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3456', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\0ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3332"></a><tt class="py-lineno">3332</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_byte_invalid"></a><div id="ETreeOnlyTestCase.test_byte_invalid-def"><a name="L3333"></a><tt class="py-lineno">3333</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_byte_invalid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_byte_invalid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_byte_invalid">test_byte_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="ETreeOnlyTestCase.test_byte_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_byte_invalid-expanded"><a name="L3334"></a><tt class="py-lineno">3334</tt>  <tt class="py-line">        <tt id="link-3457" 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-3481', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3482" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3457', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3458" 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-3482', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3483" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3458', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3459" 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-3483', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3344"></a><tt class="py-lineno">3344</tt>  <tt class="py-line"> </tt>
-<a name="L3345"></a><tt class="py-lineno">3345</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3484" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3459', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3335"></a><tt class="py-lineno">3335</tt>  <tt class="py-line"> </tt>
+<a name="L3336"></a><tt class="py-lineno">3336</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3460" 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-3484', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3346"></a><tt class="py-lineno">3346</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-3485" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3485', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3347"></a><tt class="py-lineno">3347</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-3486" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3486', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3348"></a><tt class="py-lineno">3348</tt>  <tt class="py-line"> </tt>
-<a name="L3349"></a><tt class="py-lineno">3349</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-3487" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3487', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3350"></a><tt class="py-lineno">3350</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-3488" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3488', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3351"></a><tt class="py-lineno">3351</tt>  <tt class="py-line"> </tt>
-<a name="L3352"></a><tt class="py-lineno">3352</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-3489" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3460', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3337"></a><tt class="py-lineno">3337</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-3461" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3461', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3338"></a><tt class="py-lineno">3338</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-3462" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3462', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3339"></a><tt class="py-lineno">3339</tt>  <tt class="py-line"> </tt>
+<a name="L3340"></a><tt class="py-lineno">3340</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-3463" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3463', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3341"></a><tt class="py-lineno">3341</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-3464" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3464', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3342"></a><tt class="py-lineno">3342</tt>  <tt class="py-line"> </tt>
+<a name="L3343"></a><tt class="py-lineno">3343</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-3465" 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-3489', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3353"></a><tt class="py-lineno">3353</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-3490" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3465', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3344"></a><tt class="py-lineno">3344</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-3466" 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-3490', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3354"></a><tt class="py-lineno">3354</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_unicode_byte_invalid"></a><div id="ETreeOnlyTestCase.test_unicode_byte_invalid-def"><a name="L3355"></a><tt class="py-lineno">3355</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_unicode_byte_invalid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_unicode_byte_invalid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid">test_unicode_byte_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="ETreeOnlyTestCase.test_unicode_byte_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_unicode_byte_invalid-expanded"><a name="L3356"></a><tt class="py-lineno">3356</tt>  <tt class="py-line">        <tt id="link-3491" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3466', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> <tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3345"></a><tt class="py-lineno">3345</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_unicode_byte_invalid"></a><div id="ETreeOnlyTestCase.test_unicode_byte_invalid-def"><a name="L3346"></a><tt class="py-lineno">3346</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_unicode_byte_invalid-toggle" onclick="return toggle('ETreeOnlyTestCase.test_unicode_byte_invalid');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid">test_unicode_byte_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="ETreeOnlyTestCase.test_unicode_byte_invalid-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_unicode_byte_invalid-expanded"><a name="L3347"></a><tt class="py-lineno">3347</tt>  <tt class="py-line">        <tt id="link-3467" 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-3491', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3492" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3467', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3468" 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-3492', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3493" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3468', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3469" 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-3493', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3357"></a><tt class="py-lineno">3357</tt>  <tt class="py-line"> </tt>
-<a name="L3358"></a><tt class="py-lineno">3358</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3494" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3469', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3348"></a><tt class="py-lineno">3348</tt>  <tt class="py-line"> </tt>
+<a name="L3349"></a><tt class="py-lineno">3349</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3470" 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-3494', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3359"></a><tt class="py-lineno">3359</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-3495" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3495', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3360"></a><tt class="py-lineno">3360</tt>  <tt class="py-line">                          <tt id="link-3496" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3496', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3361"></a><tt class="py-lineno">3361</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-3497" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3497', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3362"></a><tt class="py-lineno">3362</tt>  <tt class="py-line">                          <tt id="link-3498" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3498', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3363"></a><tt class="py-lineno">3363</tt>  <tt class="py-line"> </tt>
-<a name="L3364"></a><tt class="py-lineno">3364</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-3499" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3499', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3365"></a><tt class="py-lineno">3365</tt>  <tt class="py-line">                          <tt id="link-3500" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3500', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3366"></a><tt class="py-lineno">3366</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-3501" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3501', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3367"></a><tt class="py-lineno">3367</tt>  <tt class="py-line">                          <tt id="link-3502" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3502', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3368"></a><tt class="py-lineno">3368</tt>  <tt class="py-line"> </tt>
-<a name="L3369"></a><tt class="py-lineno">3369</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-3503" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3470', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3350"></a><tt class="py-lineno">3350</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-3471" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3471', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3351"></a><tt class="py-lineno">3351</tt>  <tt class="py-line">                          <tt id="link-3472" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3472', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3352"></a><tt class="py-lineno">3352</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-3473" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3473', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3353"></a><tt class="py-lineno">3353</tt>  <tt class="py-line">                          <tt id="link-3474" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3474', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3354"></a><tt class="py-lineno">3354</tt>  <tt class="py-line"> </tt>
+<a name="L3355"></a><tt class="py-lineno">3355</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-3475" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3475', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3356"></a><tt class="py-lineno">3356</tt>  <tt class="py-line">                          <tt id="link-3476" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3476', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3357"></a><tt class="py-lineno">3357</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-3477" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3477', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3358"></a><tt class="py-lineno">3358</tt>  <tt class="py-line">                          <tt id="link-3478" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3478', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3359"></a><tt class="py-lineno">3359</tt>  <tt class="py-line"> </tt>
+<a name="L3360"></a><tt class="py-lineno">3360</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-3479" 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-3503', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L3370"></a><tt class="py-lineno">3370</tt>  <tt class="py-line">                          <tt id="link-3504" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3504', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3371"></a><tt class="py-lineno">3371</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-3505" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3479', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3361"></a><tt class="py-lineno">3361</tt>  <tt class="py-line">                          <tt id="link-3480" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3480', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3362"></a><tt class="py-lineno">3362</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-3481" 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-3505', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L3372"></a><tt class="py-lineno">3372</tt>  <tt class="py-line">                          <tt id="link-3506" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3506', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3373"></a><tt class="py-lineno">3373</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence"></a><div id="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-def"><a name="L3374"></a><tt class="py-lineno">3374</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-toggle" onclick="return toggle('ETreeOnlyTestCase.test_unicode_byte_invalid_sequence');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid_sequence">test_unicode_byte_invalid_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="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-expanded"><a name="L3375"></a><tt class="py-lineno">3375</tt>  <tt class="py-line">        <tt id="link-3507" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3481', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3363"></a><tt class="py-lineno">3363</tt>  <tt class="py-line">                          <tt id="link-3482" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3482', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3364"></a><tt class="py-lineno">3364</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence"></a><div id="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-def"><a name="L3365"></a><tt class="py-lineno">3365</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-toggle" onclick="return toggle('ETreeOnlyTestCase.test_unicode_byte_invalid_sequence');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_unicode_byte_invalid_sequence">test_unicode_byte_invalid_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="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_unicode_byte_invalid_sequence-expanded"><a name="L3366"></a><tt class="py-lineno">3366</tt>  <tt class="py-line">        <tt id="link-3483" 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-3507', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3508" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3483', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3484" 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-3508', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3509" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3484', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3485" 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-3509', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3376"></a><tt class="py-lineno">3376</tt>  <tt class="py-line"> </tt>
-<a name="L3377"></a><tt class="py-lineno">3377</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3510" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3485', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3367"></a><tt class="py-lineno">3367</tt>  <tt class="py-line"> </tt>
+<a name="L3368"></a><tt class="py-lineno">3368</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3486" 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-3510', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3378"></a><tt class="py-lineno">3378</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-3511" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3511', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3379"></a><tt class="py-lineno">3379</tt>  <tt class="py-line">                          <tt id="link-3512" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3512', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3380"></a><tt class="py-lineno">3380</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-3513" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3513', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3381"></a><tt class="py-lineno">3381</tt>  <tt class="py-line">                          <tt id="link-3514" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3514', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3382"></a><tt class="py-lineno">3382</tt>  <tt class="py-line"> </tt>
-<a name="L3383"></a><tt class="py-lineno">3383</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-3515" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3515', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3384"></a><tt class="py-lineno">3384</tt>  <tt class="py-line">                          <tt id="link-3516" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3516', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3385"></a><tt class="py-lineno">3385</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-3517" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3517', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3386"></a><tt class="py-lineno">3386</tt>  <tt class="py-line">                          <tt id="link-3518" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3518', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3387"></a><tt class="py-lineno">3387</tt>  <tt class="py-line"> </tt>
-<a name="L3388"></a><tt class="py-lineno">3388</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-3519" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3486', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3369"></a><tt class="py-lineno">3369</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-3487" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3487', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3370"></a><tt class="py-lineno">3370</tt>  <tt class="py-line">                          <tt id="link-3488" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3488', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3371"></a><tt class="py-lineno">3371</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-3489" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3489', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"text"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3372"></a><tt class="py-lineno">3372</tt>  <tt class="py-line">                          <tt id="link-3490" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3490', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3373"></a><tt class="py-lineno">3373</tt>  <tt class="py-line"> </tt>
+<a name="L3374"></a><tt class="py-lineno">3374</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-3491" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3491', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3375"></a><tt class="py-lineno">3375</tt>  <tt class="py-line">                          <tt id="link-3492" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3492', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3376"></a><tt class="py-lineno">3376</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-3493" class="py-name"><a title="lxml.objectify.ObjectPath.setattr" class="py-name" href="#" onclick="return doclink('link-3493', 'setattr', 'link-76');">setattr</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">"tail"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3377"></a><tt class="py-lineno">3377</tt>  <tt class="py-line">                          <tt id="link-3494" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3494', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3378"></a><tt class="py-lineno">3378</tt>  <tt class="py-line"> </tt>
+<a name="L3379"></a><tt class="py-lineno">3379</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-3495" 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-3519', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L3389"></a><tt class="py-lineno">3389</tt>  <tt class="py-line">                          <tt id="link-3520" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3520', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3390"></a><tt class="py-lineno">3390</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-3521" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3495', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3380"></a><tt class="py-lineno">3380</tt>  <tt class="py-line">                          <tt id="link-3496" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3496', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x07ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3381"></a><tt class="py-lineno">3381</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-3497" 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-3521', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L3391"></a><tt class="py-lineno">3391</tt>  <tt class="py-line">                          <tt id="link-3522" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3522', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3392"></a><tt class="py-lineno">3392</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_encoding_tostring_utf16"></a><div id="ETreeOnlyTestCase.test_encoding_tostring_utf16-def"><a name="L3393"></a><tt class="py-lineno">3393</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_encoding_tostring_utf16-toggle" onclick="return toggle('ETreeOnlyTestCase.test_encoding_tostring_utf16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_encoding_tostring_utf16">test_encoding_tostring_utf16</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_encoding_tostring_utf16-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_encoding_tostring_utf16-expanded"><a name="L3394"></a><tt class="py-lineno">3394</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree fails to serialize this</tt> </tt>
-<a name="L3395"></a><tt class="py-lineno">3395</tt>  <tt class="py-line">        <tt id="link-3523" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3523', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3524" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3497', 'Element', 'link-64');">Element</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3382"></a><tt class="py-lineno">3382</tt>  <tt class="py-line">                          <tt id="link-3498" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3498', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ha\u1234\x02ho'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3383"></a><tt class="py-lineno">3383</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_encoding_tostring_utf16"></a><div id="ETreeOnlyTestCase.test_encoding_tostring_utf16-def"><a name="L3384"></a><tt class="py-lineno">3384</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_encoding_tostring_utf16-toggle" onclick="return toggle('ETreeOnlyTestCase.test_encoding_tostring_utf16');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_encoding_tostring_utf16">test_encoding_tostring_utf16</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_encoding_tostring_utf16-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_encoding_tostring_utf16-expanded"><a name="L3385"></a><tt class="py-lineno">3385</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree fails to serialize this</tt> </tt>
+<a name="L3386"></a><tt class="py-lineno">3386</tt>  <tt class="py-line">        <tt id="link-3499" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3499', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3500" 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-3524', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3525" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3525', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3396"></a><tt class="py-lineno">3396</tt>  <tt class="py-line">        <tt id="link-3526" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3500', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3501" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3501', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3387"></a><tt class="py-lineno">3387</tt>  <tt class="py-line">        <tt id="link-3502" 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-3526', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3527" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3502', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3503" 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-3527', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3528" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3503', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3504" 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-3528', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3397"></a><tt class="py-lineno">3397</tt>  <tt class="py-line">        <tt id="link-3529" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3529', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3530" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3504', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3388"></a><tt class="py-lineno">3388</tt>  <tt class="py-line">        <tt id="link-3505" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3505', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3506" 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-3530', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3531" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3531', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3398"></a><tt class="py-lineno">3398</tt>  <tt class="py-line">         </tt>
-<a name="L3399"></a><tt class="py-lineno">3399</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3532" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3506', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3507" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3507', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3389"></a><tt class="py-lineno">3389</tt>  <tt class="py-line">         </tt>
+<a name="L3390"></a><tt class="py-lineno">3390</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3508" 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-3532', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3400"></a><tt class="py-lineno">3400</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3533" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3533', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3401"></a><tt class="py-lineno">3401</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3534" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3534', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3402"></a><tt class="py-lineno">3402</tt>  <tt class="py-line"> </tt>
-<a name="L3403"></a><tt class="py-lineno">3403</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3535" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3535', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3536" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3536', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3404"></a><tt class="py-lineno">3404</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3537" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3537', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3405"></a><tt class="py-lineno">3405</tt>  <tt class="py-line">                          <tt id="link-3538" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3538', 'canonicalize', 'link-22');">canonicalize</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="L3406"></a><tt class="py-lineno">3406</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_none"></a><div id="ETreeOnlyTestCase.test_tostring_none-def"><a name="L3407"></a><tt class="py-lineno">3407</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_none">test_tostring_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="ETreeOnlyTestCase.test_tostring_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_none-expanded"><a name="L3408"></a><tt class="py-lineno">3408</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree raises an AssertionError here</tt> </tt>
-<a name="L3409"></a><tt class="py-lineno">3409</tt>  <tt class="py-line">        <tt id="link-3539" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3539', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3540" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3508', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3391"></a><tt class="py-lineno">3391</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3509" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3509', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3392"></a><tt class="py-lineno">3392</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3510" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3510', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3393"></a><tt class="py-lineno">3393</tt>  <tt class="py-line"> </tt>
+<a name="L3394"></a><tt class="py-lineno">3394</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3511" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3511', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3512" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3512', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">'UTF-16'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3395"></a><tt class="py-lineno">3395</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3513" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3513', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3396"></a><tt class="py-lineno">3396</tt>  <tt class="py-line">                          <tt id="link-3514" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3514', 'canonicalize', 'link-22');">canonicalize</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="L3397"></a><tt class="py-lineno">3397</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_none"></a><div id="ETreeOnlyTestCase.test_tostring_none-def"><a name="L3398"></a><tt class="py-lineno">3398</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_none">test_tostring_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="ETreeOnlyTestCase.test_tostring_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_none-expanded"><a name="L3399"></a><tt class="py-lineno">3399</tt>  <tt class="py-line">        <tt class="py-comment"># ElementTree raises an AssertionError here</tt> </tt>
+<a name="L3400"></a><tt class="py-lineno">3400</tt>  <tt class="py-line">        <tt id="link-3515" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3515', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3516" 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-3540', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3541" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3541', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3410"></a><tt class="py-lineno">3410</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">self</tt><tt class="py-op">.</tt><tt id="link-3542" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3516', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3517" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3517', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3401"></a><tt class="py-lineno">3401</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">self</tt><tt class="py-op">.</tt><tt id="link-3518" 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-3542', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3543" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3543', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3411"></a><tt class="py-lineno">3411</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_pretty"></a><div id="ETreeOnlyTestCase.test_tostring_pretty-def"><a name="L3412"></a><tt class="py-lineno">3412</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_pretty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_pretty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_pretty">test_tostring_pretty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tostring_pretty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_pretty-expanded"><a name="L3413"></a><tt class="py-lineno">3413</tt>  <tt class="py-line">        <tt id="link-3544" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3544', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3545" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3518', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3519" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3519', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3402"></a><tt class="py-lineno">3402</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_pretty"></a><div id="ETreeOnlyTestCase.test_tostring_pretty-def"><a name="L3403"></a><tt class="py-lineno">3403</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_pretty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_pretty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_pretty">test_tostring_pretty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tostring_pretty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_pretty-expanded"><a name="L3404"></a><tt class="py-lineno">3404</tt>  <tt class="py-line">        <tt id="link-3520" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3520', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3521" 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-3545', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3546" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3546', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3414"></a><tt class="py-lineno">3414</tt>  <tt class="py-line">        <tt id="link-3547" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3521', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3522" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3522', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3405"></a><tt class="py-lineno">3405</tt>  <tt class="py-line">        <tt id="link-3523" 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-3547', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3548" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3523', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3524" 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-3548', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3549" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3524', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3525" 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-3549', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3415"></a><tt class="py-lineno">3415</tt>  <tt class="py-line">        <tt id="link-3550" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3550', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3551" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3525', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3406"></a><tt class="py-lineno">3406</tt>  <tt class="py-line">        <tt id="link-3526" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3526', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3527" 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-3551', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3552" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3552', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3416"></a><tt class="py-lineno">3416</tt>  <tt class="py-line"> </tt>
-<a name="L3417"></a><tt class="py-lineno">3417</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3553" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3527', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3528" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3528', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3407"></a><tt class="py-lineno">3407</tt>  <tt class="py-line"> </tt>
+<a name="L3408"></a><tt class="py-lineno">3408</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3529" 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-3553', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3418"></a><tt class="py-lineno">3418</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3554" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3554', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3419"></a><tt class="py-lineno">3419</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3555" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3555', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3420"></a><tt class="py-lineno">3420</tt>  <tt class="py-line"> </tt>
-<a name="L3421"></a><tt class="py-lineno">3421</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3556" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3556', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L3422"></a><tt class="py-lineno">3422</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3557" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3557', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3423"></a><tt class="py-lineno">3423</tt>  <tt class="py-line"> </tt>
-<a name="L3424"></a><tt class="py-lineno">3424</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3558" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3558', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3425"></a><tt class="py-lineno">3425</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3559" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3559', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3426"></a><tt class="py-lineno">3426</tt>  <tt class="py-line"> </tt>
-<a name="L3427"></a><tt class="py-lineno">3427</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3560" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3560', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3428"></a><tt class="py-lineno">3428</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3561" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3561', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;\n  &lt;b/&gt;\n  &lt;c/&gt;\n&lt;/a&gt;\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3429"></a><tt class="py-lineno">3429</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_with_tail"></a><div id="ETreeOnlyTestCase.test_tostring_with_tail-def"><a name="L3430"></a><tt class="py-lineno">3430</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_with_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_with_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_with_tail">test_tostring_with_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tostring_with_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_with_tail-expanded"><a name="L3431"></a><tt class="py-lineno">3431</tt>  <tt class="py-line">        <tt id="link-3562" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3562', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3563" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3529', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3409"></a><tt class="py-lineno">3409</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3530" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3530', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3410"></a><tt class="py-lineno">3410</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3531" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3531', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3411"></a><tt class="py-lineno">3411</tt>  <tt class="py-line"> </tt>
+<a name="L3412"></a><tt class="py-lineno">3412</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3532" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3532', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L3413"></a><tt class="py-lineno">3413</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3533" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3533', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3414"></a><tt class="py-lineno">3414</tt>  <tt class="py-line"> </tt>
+<a name="L3415"></a><tt class="py-lineno">3415</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3534" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3534', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3416"></a><tt class="py-lineno">3416</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3535" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3535', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3417"></a><tt class="py-lineno">3417</tt>  <tt class="py-line"> </tt>
+<a name="L3418"></a><tt class="py-lineno">3418</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3536" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3536', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3419"></a><tt class="py-lineno">3419</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3537" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3537', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;\n  &lt;b/&gt;\n  &lt;c/&gt;\n&lt;/a&gt;\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3420"></a><tt class="py-lineno">3420</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_with_tail"></a><div id="ETreeOnlyTestCase.test_tostring_with_tail-def"><a name="L3421"></a><tt class="py-lineno">3421</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_with_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_with_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_with_tail">test_tostring_with_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tostring_with_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_with_tail-expanded"><a name="L3422"></a><tt class="py-lineno">3422</tt>  <tt class="py-line">        <tt id="link-3538" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3538', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3539" 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-3563', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3564" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3564', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3432"></a><tt class="py-lineno">3432</tt>  <tt class="py-line">        <tt id="link-3565" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3539', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3540" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3540', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3423"></a><tt class="py-lineno">3423</tt>  <tt class="py-line">        <tt id="link-3541" 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-3565', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3566" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3541', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3542" 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-3566', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3567" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3542', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3543" 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-3567', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3433"></a><tt class="py-lineno">3433</tt>  <tt class="py-line">        <tt id="link-3568" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3568', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3569" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3543', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3424"></a><tt class="py-lineno">3424</tt>  <tt class="py-line">        <tt id="link-3544" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3544', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3545" 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-3569', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3570" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3570', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3545', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3546" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3546', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3425"></a><tt class="py-lineno">3425</tt>  <tt class="py-line"> </tt>
+<a name="L3426"></a><tt class="py-lineno">3426</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3547" 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-3547', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3427"></a><tt class="py-lineno">3427</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3548" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3548', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"aTAIL"</tt> </tt>
+<a name="L3428"></a><tt class="py-lineno">3428</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3549" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3549', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3429"></a><tt class="py-lineno">3429</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3550" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3550', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"bTAIL"</tt> </tt>
+<a name="L3430"></a><tt class="py-lineno">3430</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3551" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3551', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3431"></a><tt class="py-lineno">3431</tt>  <tt class="py-line"> </tt>
+<a name="L3432"></a><tt class="py-lineno">3432</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3552" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3552', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L3433"></a><tt class="py-lineno">3433</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3553" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3553', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;bTAIL&lt;c/&gt;&lt;/a&gt;aTAIL"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L3434"></a><tt class="py-lineno">3434</tt>  <tt class="py-line"> </tt>
-<a name="L3435"></a><tt class="py-lineno">3435</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3571" 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-3571', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3436"></a><tt class="py-lineno">3436</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3572" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3572', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"aTAIL"</tt> </tt>
-<a name="L3437"></a><tt class="py-lineno">3437</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3573" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3573', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3438"></a><tt class="py-lineno">3438</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3574" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3574', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"bTAIL"</tt> </tt>
-<a name="L3439"></a><tt class="py-lineno">3439</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3575" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3575', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3440"></a><tt class="py-lineno">3440</tt>  <tt class="py-line"> </tt>
-<a name="L3441"></a><tt class="py-lineno">3441</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3576" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3576', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L3442"></a><tt class="py-lineno">3442</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3577" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3577', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;bTAIL&lt;c/&gt;&lt;/a&gt;aTAIL"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3443"></a><tt class="py-lineno">3443</tt>  <tt class="py-line"> </tt>
-<a name="L3444"></a><tt class="py-lineno">3444</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3578" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3578', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3445"></a><tt class="py-lineno">3445</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3579" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3579', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;bTAIL&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3446"></a><tt class="py-lineno">3446</tt>  <tt class="py-line"> </tt>
-<a name="L3447"></a><tt class="py-lineno">3447</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3580" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3580', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3448"></a><tt class="py-lineno">3448</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3581" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3581', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;bTAIL&lt;c/&gt;&lt;/a&gt;aTAIL"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3449"></a><tt class="py-lineno">3449</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_method_html_with_tail"></a><div id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-def"><a name="L3450"></a><tt class="py-lineno">3450</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_method_html_with_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_html_with_tail">test_tostring_method_html_with_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-expanded"><a name="L3451"></a><tt class="py-lineno">3451</tt>  <tt class="py-line">        <tt id="link-3582" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3582', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3583" 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-3583', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3584" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3584', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3452"></a><tt class="py-lineno">3452</tt>  <tt class="py-line">        <tt id="link-3585" class="py-name" targets="Package lxml.html=lxml.html-module.html,Method lxml.html.diff.href_token.html()=lxml.html.diff.href_token-class.html#html,Method lxml.html.diff.tag_token.html()=lxml.html.diff.tag_token-class.html#html,Method lxml.html.diff.token.html()=lxml.html.diff.token-class.html#html"><a title="lxml.html
+<a name="L3435"></a><tt class="py-lineno">3435</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3554" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3554', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3436"></a><tt class="py-lineno">3436</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3555" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3555', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;bTAIL&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3437"></a><tt class="py-lineno">3437</tt>  <tt class="py-line"> </tt>
+<a name="L3438"></a><tt class="py-lineno">3438</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3556" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3556', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3439"></a><tt class="py-lineno">3439</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3557" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3557', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;a&gt;&lt;b/&gt;bTAIL&lt;c/&gt;&lt;/a&gt;aTAIL"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3440"></a><tt class="py-lineno">3440</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_method_html_with_tail"></a><div id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-def"><a name="L3441"></a><tt class="py-lineno">3441</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_method_html_with_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_html_with_tail">test_tostring_method_html_with_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_method_html_with_tail-expanded"><a name="L3442"></a><tt class="py-lineno">3442</tt>  <tt class="py-line">        <tt id="link-3558" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3558', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3559" 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-3559', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3560" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3560', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3443"></a><tt class="py-lineno">3443</tt>  <tt class="py-line">        <tt id="link-3561" class="py-name" targets="Package lxml.html=lxml.html-module.html,Method lxml.html.diff.href_token.html()=lxml.html.diff.href_token-class.html#html,Method lxml.html.diff.tag_token.html()=lxml.html.diff.tag_token-class.html#html,Method lxml.html.diff.token.html()=lxml.html.diff.token-class.html#html"><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-3585', 'html', 'link-3585');">html</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3586" class="py-name"><a title="lxml.etree
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-3561', 'html', 'link-3561');">html</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3562" 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-3586', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3587" class="py-name"><a title="lxml.etree.fromstring
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3562', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3563" 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-3587', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3453"></a><tt class="py-lineno">3453</tt>  <tt class="py-line">            <tt class="py-string">'&lt;html&gt;&lt;body&gt;'</tt> </tt>
-<a name="L3454"></a><tt class="py-lineno">3454</tt>  <tt class="py-line">            <tt class="py-string">'&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;\r\n'</tt> </tt>
-<a name="L3455"></a><tt class="py-lineno">3455</tt>  <tt class="py-line">            <tt class="py-string">'&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">,</tt> </tt>
-<a name="L3456"></a><tt class="py-lineno">3456</tt>  <tt class="py-line">            <tt id="link-3588" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-3588', 'parser', 'link-800');">parser</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3589" class="py-name"><a title="lxml.etree
+lxml.objectify.fromstring" class="py-name" href="#" onclick="return doclink('link-3563', 'fromstring', 'link-789');">fromstring</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3444"></a><tt class="py-lineno">3444</tt>  <tt class="py-line">            <tt class="py-string">'&lt;html&gt;&lt;body&gt;'</tt> </tt>
+<a name="L3445"></a><tt class="py-lineno">3445</tt>  <tt class="py-line">            <tt class="py-string">'&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;\r\n'</tt> </tt>
+<a name="L3446"></a><tt class="py-lineno">3446</tt>  <tt class="py-line">            <tt class="py-string">'&lt;/body&gt;&lt;/html&gt;'</tt><tt class="py-op">,</tt> </tt>
+<a name="L3447"></a><tt class="py-lineno">3447</tt>  <tt class="py-line">            <tt id="link-3564" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-3564', 'parser', 'link-800');">parser</a></tt><tt class="py-op">=</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3565" 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-3589', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3590" class="py-name" targets="Class lxml.etree.HTMLParser=lxml.etree.HTMLParser-class.html,Class lxml.html.HTMLParser=lxml.html.HTMLParser-class.html,Class lxml.html.html5parser.HTMLParser=lxml.html.html5parser.HTMLParser-class.html"><a title="lxml.etree.HTMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3565', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3566" class="py-name" targets="Class lxml.etree.HTMLParser=lxml.etree.HTMLParser-class.html,Class lxml.html.HTMLParser=lxml.html.HTMLParser-class.html,Class lxml.html.html5parser.HTMLParser=lxml.html.html5parser.HTMLParser-class.html"><a title="lxml.etree.HTMLParser
 lxml.html.HTMLParser
-lxml.html.html5parser.HTMLParser" class="py-name" href="#" onclick="return doclink('link-3590', 'HTMLParser', 'link-3590');">HTMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3457"></a><tt class="py-lineno">3457</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3591" class="py-name"><a title="lxml.html
+lxml.html.html5parser.HTMLParser" class="py-name" href="#" onclick="return doclink('link-3566', 'HTMLParser', 'link-3566');">HTMLParser</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3448"></a><tt class="py-lineno">3448</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3567" 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-3591', 'html', 'link-3585');">html</a></tt><tt class="py-op">.</tt><tt id="link-3592" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-3567', 'html', 'link-3561');">html</a></tt><tt class="py-op">.</tt><tt id="link-3568" 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-3592', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3458"></a><tt class="py-lineno">3458</tt>  <tt class="py-line">        <tt class="py-name">div</tt> <tt class="py-op">=</tt> <tt id="link-3593" class="py-name"><a title="lxml.html
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3568', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3449"></a><tt class="py-lineno">3449</tt>  <tt class="py-line">        <tt class="py-name">div</tt> <tt class="py-op">=</tt> <tt id="link-3569" 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-3593', 'html', 'link-3585');">html</a></tt><tt class="py-op">.</tt><tt id="link-3594" class="py-name"><a title="lxml.etree._Element.find
+lxml.html.diff.token.html" class="py-name" href="#" onclick="return doclink('link-3569', 'html', 'link-3561');">html</a></tt><tt class="py-op">.</tt><tt id="link-3570" class="py-name"><a title="lxml.etree._Element.find
 lxml.etree._ElementTree.find
-lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-3594', 'find', 'link-2731');">find</a></tt><tt class="py-op">(</tt><tt class="py-string">'.//div'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3459"></a><tt class="py-lineno">3459</tt>  <tt class="py-line">        <tt 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">div</tt><tt class="py-op">.</tt><tt id="link-3595" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3595', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">'\r\n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3460"></a><tt class="py-lineno">3460</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3596" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3596', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">div</tt><tt class="py-op">,</tt> <tt id="link-3597" class="py-name" targets="Variable lxml.html.FormElement.method=lxml.html.FormElement-class.html#method"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3597', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3461"></a><tt class="py-lineno">3461</tt>  <tt class="py-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="L3462"></a><tt class="py-lineno">3462</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
-<a name="L3463"></a><tt class="py-lineno">3463</tt>  <tt class="py-line">            <tt id="link-3598" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3598', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3464"></a><tt class="py-lineno">3464</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3599" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3599', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">div</tt><tt class="py-op">,</tt> <tt id="link-3600" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3600', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'html'</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3465"></a><tt class="py-lineno">3465</tt>  <tt class="py-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="L3466"></a><tt class="py-lineno">3466</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
-<a name="L3467"></a><tt class="py-lineno">3467</tt>  <tt class="py-line">            <tt id="link-3601" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3601', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3468"></a><tt class="py-lineno">3468</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3602" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3602', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">div</tt><tt class="py-op">,</tt> <tt id="link-3603" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3603', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'html'</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3469"></a><tt class="py-lineno">3469</tt>  <tt class="py-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="L3470"></a><tt class="py-lineno">3470</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
-<a name="L3471"></a><tt class="py-lineno">3471</tt>  <tt class="py-line">            <tt id="link-3604" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3604', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3472"></a><tt class="py-lineno">3472</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_standalone"></a><div id="ETreeOnlyTestCase.test_standalone-def"><a name="L3473"></a><tt class="py-lineno">3473</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_standalone-toggle" onclick="return toggle('ETreeOnlyTestCase.test_standalone');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_standalone">test_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="ETreeOnlyTestCase.test_standalone-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_standalone-expanded"><a name="L3474"></a><tt class="py-lineno">3474</tt>  <tt class="py-line">        <tt id="link-3605" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3605', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3606" class="py-name"><a title="lxml.etree
+lxml.objectify.ObjectPath.find" class="py-name" href="#" onclick="return doclink('link-3570', 'find', 'link-2733');">find</a></tt><tt class="py-op">(</tt><tt class="py-string">'.//div'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3450"></a><tt class="py-lineno">3450</tt>  <tt class="py-line">        <tt 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">div</tt><tt class="py-op">.</tt><tt id="link-3571" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3571', 'tail', 'link-918');">tail</a></tt><tt class="py-op">,</tt> <tt class="py-string">'\r\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3451"></a><tt class="py-lineno">3451</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3572" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3572', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">div</tt><tt class="py-op">,</tt> <tt id="link-3573" class="py-name" targets="Variable lxml.html.FormElement.method=lxml.html.FormElement-class.html#method"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3573', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'html'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3452"></a><tt class="py-lineno">3452</tt>  <tt class="py-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="L3453"></a><tt class="py-lineno">3453</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L3454"></a><tt class="py-lineno">3454</tt>  <tt class="py-line">            <tt id="link-3574" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3574', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3455"></a><tt class="py-lineno">3455</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3575" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3575', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">div</tt><tt class="py-op">,</tt> <tt id="link-3576" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3576', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'html'</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3456"></a><tt class="py-lineno">3456</tt>  <tt class="py-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="L3457"></a><tt class="py-lineno">3457</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L3458"></a><tt class="py-lineno">3458</tt>  <tt class="py-line">            <tt id="link-3577" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3577', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;\r\n"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3459"></a><tt class="py-lineno">3459</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3578" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3578', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">div</tt><tt class="py-op">,</tt> <tt id="link-3579" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3579', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'html'</tt><tt class="py-op">,</tt> <tt class="py-name">with_tail</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3460"></a><tt class="py-lineno">3460</tt>  <tt class="py-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="L3461"></a><tt class="py-lineno">3461</tt>  <tt class="py-line">            <tt class="py-name">result</tt><tt class="py-op">,</tt> </tt>
+<a name="L3462"></a><tt class="py-lineno">3462</tt>  <tt class="py-line">            <tt id="link-3580" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3580', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;div&gt;&lt;p&gt;Some text&lt;i&gt;\r\n&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3463"></a><tt class="py-lineno">3463</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_standalone"></a><div id="ETreeOnlyTestCase.test_standalone-def"><a name="L3464"></a><tt class="py-lineno">3464</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_standalone-toggle" onclick="return toggle('ETreeOnlyTestCase.test_standalone');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_standalone">test_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="ETreeOnlyTestCase.test_standalone-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_standalone-expanded"><a name="L3465"></a><tt class="py-lineno">3465</tt>  <tt class="py-line">        <tt id="link-3581" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3581', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3582" 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-3606', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3607" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3607', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3475"></a><tt class="py-lineno">3475</tt>  <tt class="py-line">        <tt id="link-3608" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3582', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3583" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3583', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3466"></a><tt class="py-lineno">3466</tt>  <tt class="py-line">        <tt id="link-3584" 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-3608', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3609" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3584', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3585" 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-3609', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3610" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3585', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3586" 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-3610', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L3476"></a><tt class="py-lineno">3476</tt>  <tt class="py-line">        <tt id="link-3611" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3586', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L3467"></a><tt class="py-lineno">3467</tt>  <tt class="py-line">        <tt id="link-3587" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3611', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3612" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3587', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3588" 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-3612', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3613" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3588', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3589" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3613', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L3477"></a><tt class="py-lineno">3477</tt>  <tt class="py-line">        <tt id="link-3614" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3589', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L3468"></a><tt class="py-lineno">3468</tt>  <tt class="py-line">        <tt id="link-3590" 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-3614', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3615" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3590', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3591" 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-3615', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3616" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3591', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3592" 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-3616', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3478"></a><tt class="py-lineno">3478</tt>  <tt class="py-line"> </tt>
-<a name="L3479"></a><tt class="py-lineno">3479</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3617" class="py-name"><a title="lxml.etree.Element
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3592', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3469"></a><tt class="py-lineno">3469</tt>  <tt class="py-line"> </tt>
+<a name="L3470"></a><tt class="py-lineno">3470</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3593" 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-3617', 'Element', 'link-64');">Element</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-3618" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3618', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3480"></a><tt class="py-lineno">3480</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-3619" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3619', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3620" class="py-name" targets="Variable lxml.etree.DocInfo.standalone=lxml.etree.DocInfo-class.html#standalone"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3620', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3481"></a><tt class="py-lineno">3481</tt>  <tt class="py-line"> </tt>
-<a name="L3482"></a><tt class="py-lineno">3482</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3621" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3593', 'Element', 'link-64');">Element</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-3594" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3594', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3471"></a><tt class="py-lineno">3471</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-3595" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3595', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3596" class="py-name" targets="Variable lxml.etree.DocInfo.standalone=lxml.etree.DocInfo-class.html#standalone"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3596', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3472"></a><tt class="py-lineno">3472</tt>  <tt class="py-line"> </tt>
+<a name="L3473"></a><tt class="py-lineno">3473</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3597" 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-3621', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3622" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3622', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3623" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3623', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3483"></a><tt class="py-lineno">3483</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-3624" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3624', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3625" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3625', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3484"></a><tt class="py-lineno">3484</tt>  <tt class="py-line"> </tt>
-<a name="L3485"></a><tt class="py-lineno">3485</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3626" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3597', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3598" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3598', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3599" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3599', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3474"></a><tt class="py-lineno">3474</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-3600" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3600', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3601" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3601', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3475"></a><tt class="py-lineno">3475</tt>  <tt class="py-line"> </tt>
+<a name="L3476"></a><tt class="py-lineno">3476</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3602" 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-3626', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3627" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3627', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3486"></a><tt class="py-lineno">3486</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='yes'?&gt;\n&lt;root/&gt;"</tt> </tt>
-<a name="L3487"></a><tt class="py-lineno">3487</tt>  <tt class="py-line">            <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3628" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3628', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3488"></a><tt class="py-lineno">3488</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3629" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3629', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3630" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3630', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3489"></a><tt class="py-lineno">3489</tt>  <tt class="py-line"> </tt>
-<a name="L3490"></a><tt class="py-lineno">3490</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3631" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3602', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3603" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3603', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3477"></a><tt class="py-lineno">3477</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='yes'?&gt;\n&lt;root/&gt;"</tt> </tt>
+<a name="L3478"></a><tt class="py-lineno">3478</tt>  <tt class="py-line">            <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3604" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3604', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3479"></a><tt class="py-lineno">3479</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3605" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3605', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3606" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3606', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3480"></a><tt class="py-lineno">3480</tt>  <tt class="py-line"> </tt>
+<a name="L3481"></a><tt class="py-lineno">3481</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3607" 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-3631', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3632" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3632', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3491"></a><tt class="py-lineno">3491</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='no'?&gt;\n&lt;root/&gt;"</tt> </tt>
-<a name="L3492"></a><tt class="py-lineno">3492</tt>  <tt class="py-line">            <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3633" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3633', 'getroottree', 'link-2375');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3493"></a><tt class="py-lineno">3493</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3634" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3634', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3635" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3635', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3494"></a><tt class="py-lineno">3494</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_standalone"></a><div id="ETreeOnlyTestCase.test_tostring_standalone-def"><a name="L3495"></a><tt class="py-lineno">3495</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_standalone-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_standalone');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone">test_tostring_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="ETreeOnlyTestCase.test_tostring_standalone-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_standalone-expanded"><a name="L3496"></a><tt class="py-lineno">3496</tt>  <tt class="py-line">        <tt id="link-3636" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3636', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3637" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3607', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3608" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3608', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3482"></a><tt class="py-lineno">3482</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='no'?&gt;\n&lt;root/&gt;"</tt> </tt>
+<a name="L3483"></a><tt class="py-lineno">3483</tt>  <tt class="py-line">            <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3609" class="py-name"><a title="lxml.etree._Element.getroottree" class="py-name" href="#" onclick="return doclink('link-3609', 'getroottree', 'link-2377');">getroottree</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3484"></a><tt class="py-lineno">3484</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3610" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3610', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3611" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3611', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3485"></a><tt class="py-lineno">3485</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_standalone"></a><div id="ETreeOnlyTestCase.test_tostring_standalone-def"><a name="L3486"></a><tt class="py-lineno">3486</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_standalone-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_standalone');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone">test_tostring_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="ETreeOnlyTestCase.test_tostring_standalone-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_standalone-expanded"><a name="L3487"></a><tt class="py-lineno">3487</tt>  <tt class="py-line">        <tt id="link-3612" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3612', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3613" 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-3637', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3638" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3638', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3497"></a><tt class="py-lineno">3497</tt>  <tt class="py-line">        <tt id="link-3639" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3613', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3614" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3614', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3488"></a><tt class="py-lineno">3488</tt>  <tt class="py-line">        <tt id="link-3615" 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-3639', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3640" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3615', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3616" 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-3640', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3641" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3616', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3617" 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-3641', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L3498"></a><tt class="py-lineno">3498</tt>  <tt class="py-line">        <tt id="link-3642" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3617', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L3489"></a><tt class="py-lineno">3489</tt>  <tt class="py-line">        <tt id="link-3618" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3642', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3643" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3618', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3619" 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-3643', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3644" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3619', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3620" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3644', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L3499"></a><tt class="py-lineno">3499</tt>  <tt class="py-line"> </tt>
-<a name="L3500"></a><tt class="py-lineno">3500</tt>  <tt class="py-line">        <tt id="link-3645" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3645', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3646" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3620', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L3490"></a><tt class="py-lineno">3490</tt>  <tt class="py-line"> </tt>
+<a name="L3491"></a><tt class="py-lineno">3491</tt>  <tt class="py-line">        <tt id="link-3621" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3621', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3622" 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-3646', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3647" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3647', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3501"></a><tt class="py-lineno">3501</tt>  <tt class="py-line"> </tt>
-<a name="L3502"></a><tt class="py-lineno">3502</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3648" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3622', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3623" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3623', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">"&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3492"></a><tt class="py-lineno">3492</tt>  <tt class="py-line"> </tt>
+<a name="L3493"></a><tt class="py-lineno">3493</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3624" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3648', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3649" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3649', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3503"></a><tt class="py-lineno">3503</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-3650" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3650', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3651" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3651', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3624', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3625" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3625', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3494"></a><tt class="py-lineno">3494</tt>  <tt class="py-line">        <tt 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">tree</tt><tt class="py-op">.</tt><tt id="link-3626" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3626', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3627" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3627', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3495"></a><tt class="py-lineno">3495</tt>  <tt class="py-line"> </tt>
+<a name="L3496"></a><tt class="py-lineno">3496</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3628" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3628', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3629" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3629', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3630" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3630', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3497"></a><tt class="py-lineno">3497</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3631" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3631', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3498"></a><tt class="py-lineno">3498</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3499"></a><tt class="py-lineno">3499</tt>  <tt class="py-line"> </tt>
+<a name="L3500"></a><tt class="py-lineno">3500</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3632" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3632', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3633" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3633', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3634" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3634', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3501"></a><tt class="py-lineno">3501</tt>  <tt class="py-line">                          <tt id="link-3635" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3635', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3502"></a><tt class="py-lineno">3502</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3636" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3636', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3503"></a><tt class="py-lineno">3503</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='yes'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 <a name="L3504"></a><tt class="py-lineno">3504</tt>  <tt class="py-line"> </tt>
-<a name="L3505"></a><tt class="py-lineno">3505</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3652" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3652', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3653" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3653', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3654" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3654', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3506"></a><tt class="py-lineno">3506</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3655" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3655', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3507"></a><tt class="py-lineno">3507</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3508"></a><tt class="py-lineno">3508</tt>  <tt class="py-line"> </tt>
-<a name="L3509"></a><tt class="py-lineno">3509</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3656" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3656', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3657" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3657', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3658" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3658', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3510"></a><tt class="py-lineno">3510</tt>  <tt class="py-line">                          <tt id="link-3659" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3659', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3511"></a><tt class="py-lineno">3511</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3660" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3660', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3512"></a><tt class="py-lineno">3512</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='yes'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3513"></a><tt class="py-lineno">3513</tt>  <tt class="py-line"> </tt>
-<a name="L3514"></a><tt class="py-lineno">3514</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3661" class="py-name"><a title="lxml.etree.ElementTree
+<a name="L3505"></a><tt class="py-lineno">3505</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3637" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3661', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3662" 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-3662', 'XML', 'link-212');">XML</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="L3515"></a><tt class="py-lineno">3515</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3663" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3663', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3664" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3664', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3516"></a><tt class="py-lineno">3516</tt>  <tt class="py-line"> </tt>
-<a name="L3517"></a><tt class="py-lineno">3517</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3665" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3665', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3666" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3666', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3667" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3667', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3518"></a><tt class="py-lineno">3518</tt>  <tt class="py-line">                          <tt id="link-3668" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3668', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3519"></a><tt class="py-lineno">3519</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3669" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3669', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3520"></a><tt class="py-lineno">3520</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='no'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3521"></a><tt class="py-lineno">3521</tt>  <tt class="py-line"> </tt>
-<a name="L3522"></a><tt class="py-lineno">3522</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3670" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3637', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3638" 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-3638', 'XML', 'link-212');">XML</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="L3506"></a><tt class="py-lineno">3506</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3639" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3639', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3640" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3640', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3507"></a><tt class="py-lineno">3507</tt>  <tt class="py-line"> </tt>
+<a name="L3508"></a><tt class="py-lineno">3508</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3641" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3641', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3642" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3642', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3643" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3643', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3509"></a><tt class="py-lineno">3509</tt>  <tt class="py-line">                          <tt id="link-3644" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3644', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3510"></a><tt class="py-lineno">3510</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3645" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3645', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3511"></a><tt class="py-lineno">3511</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='no'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3512"></a><tt class="py-lineno">3512</tt>  <tt class="py-line"> </tt>
+<a name="L3513"></a><tt class="py-lineno">3513</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3646" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3670', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3671" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3646', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3647" 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-3671', 'XML', 'link-212');">XML</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="L3523"></a><tt class="py-lineno">3523</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3672" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3672', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3673" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3673', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3524"></a><tt class="py-lineno">3524</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_standalone_in_out"></a><div id="ETreeOnlyTestCase.test_tostring_standalone_in_out-def"><a name="L3525"></a><tt class="py-lineno">3525</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_standalone_in_out-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_standalone_in_out');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone_in_out">test_tostring_standalone_in_out</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tostring_standalone_in_out-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_standalone_in_out-expanded"><a name="L3526"></a><tt class="py-lineno">3526</tt>  <tt class="py-line">        <tt id="link-3674" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3674', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3675" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3647', 'XML', 'link-212');">XML</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="L3514"></a><tt class="py-lineno">3514</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3648" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3648', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3649" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3649', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3515"></a><tt class="py-lineno">3515</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_standalone_in_out"></a><div id="ETreeOnlyTestCase.test_tostring_standalone_in_out-def"><a name="L3516"></a><tt class="py-lineno">3516</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_standalone_in_out-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_standalone_in_out');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_standalone_in_out">test_tostring_standalone_in_out</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tostring_standalone_in_out-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_standalone_in_out-expanded"><a name="L3517"></a><tt class="py-lineno">3517</tt>  <tt class="py-line">        <tt id="link-3650" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3650', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3651" 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-3675', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3676" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3676', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3527"></a><tt class="py-lineno">3527</tt>  <tt class="py-line">        <tt id="link-3677" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3651', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3652" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3652', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3518"></a><tt class="py-lineno">3518</tt>  <tt class="py-line">        <tt id="link-3653" 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-3677', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3678" class="py-name"><a title="lxml.etree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3653', 'XML', 'link-212');">XML</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3654" 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-3678', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3679" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3654', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3655" 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-3679', 'XML', 'link-212');">XML</a></tt> </tt>
-<a name="L3528"></a><tt class="py-lineno">3528</tt>  <tt class="py-line">        <tt id="link-3680" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3655', 'XML', 'link-212');">XML</a></tt> </tt>
+<a name="L3519"></a><tt class="py-lineno">3519</tt>  <tt class="py-line">        <tt id="link-3656" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3680', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3681" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3656', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3657" 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-3681', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3682" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3657', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3658" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3682', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L3529"></a><tt class="py-lineno">3529</tt>  <tt class="py-line"> </tt>
-<a name="L3530"></a><tt class="py-lineno">3530</tt>  <tt class="py-line">        <tt id="link-3683" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3683', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3684" class="py-name"><a title="lxml.etree.XML
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3658', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L3520"></a><tt class="py-lineno">3520</tt>  <tt class="py-line"> </tt>
+<a name="L3521"></a><tt class="py-lineno">3521</tt>  <tt class="py-line">        <tt id="link-3659" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3659', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3660" 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-3684', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3685" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3685', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3531"></a><tt class="py-lineno">3531</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='UTF-8' standalone='yes'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3532"></a><tt class="py-lineno">3532</tt>  <tt class="py-line"> </tt>
-<a name="L3533"></a><tt class="py-lineno">3533</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3686" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3660', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3661" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3661', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3522"></a><tt class="py-lineno">3522</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='UTF-8' standalone='yes'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3523"></a><tt class="py-lineno">3523</tt>  <tt class="py-line"> </tt>
+<a name="L3524"></a><tt class="py-lineno">3524</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3662" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3686', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3687" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3687', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3534"></a><tt class="py-lineno">3534</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3688" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3688', 'docinfo', 'link-3229');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3689" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3689', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3535"></a><tt class="py-lineno">3535</tt>  <tt class="py-line"> </tt>
-<a name="L3536"></a><tt class="py-lineno">3536</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3690" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3690', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3691" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3691', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3692" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3692', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3537"></a><tt class="py-lineno">3537</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3693" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3693', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3538"></a><tt class="py-lineno">3538</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3539"></a><tt class="py-lineno">3539</tt>  <tt class="py-line"> </tt>
-<a name="L3540"></a><tt class="py-lineno">3540</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3694" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3694', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3695" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3695', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3696" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3696', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">,</tt> </tt>
-<a name="L3541"></a><tt class="py-lineno">3541</tt>  <tt class="py-line">                          <tt id="link-3697" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3697', 'standalone', 'link-3620');">standalone</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3542"></a><tt class="py-lineno">3542</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3698" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3698', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3543"></a><tt class="py-lineno">3543</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='yes'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3544"></a><tt class="py-lineno">3544</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_method_text_encoding"></a><div id="ETreeOnlyTestCase.test_tostring_method_text_encoding-def"><a name="L3545"></a><tt class="py-lineno">3545</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_method_text_encoding-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_method_text_encoding');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_encoding">test_tostring_method_text_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="ETreeOnlyTestCase.test_tostring_method_text_encoding-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_method_text_encoding-expanded"><a name="L3546"></a><tt class="py-lineno">3546</tt>  <tt class="py-line">        <tt id="link-3699" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3699', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3700" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3662', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3663" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3663', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3525"></a><tt class="py-lineno">3525</tt>  <tt class="py-line">        <tt 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 class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3664" class="py-name"><a title="lxml.etree._ElementTree.docinfo" class="py-name" href="#" onclick="return doclink('link-3664', 'docinfo', 'link-3205');">docinfo</a></tt><tt class="py-op">.</tt><tt id="link-3665" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3665', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3526"></a><tt class="py-lineno">3526</tt>  <tt class="py-line"> </tt>
+<a name="L3527"></a><tt class="py-lineno">3527</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3666" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3666', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3667" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3667', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3668" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3668', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3528"></a><tt class="py-lineno">3528</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3669" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3669', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3529"></a><tt class="py-lineno">3529</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3530"></a><tt class="py-lineno">3530</tt>  <tt class="py-line"> </tt>
+<a name="L3531"></a><tt class="py-lineno">3531</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3670" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3670', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-3671" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3671', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-name">xml_declaration</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt id="link-3672" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3672', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"ASCII"</tt><tt class="py-op">,</tt> </tt>
+<a name="L3532"></a><tt class="py-lineno">3532</tt>  <tt class="py-line">                          <tt id="link-3673" class="py-name"><a title="lxml.etree.DocInfo.standalone" class="py-name" href="#" onclick="return doclink('link-3673', 'standalone', 'link-3596');">standalone</a></tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3533"></a><tt class="py-lineno">3533</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt id="link-3674" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3674', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3534"></a><tt class="py-lineno">3534</tt>  <tt class="py-line">            <tt class="py-string">"&lt;?xml version='1.0' encoding='ASCII' standalone='yes'?&gt;\n&lt;root/&gt;"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3535"></a><tt class="py-lineno">3535</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_method_text_encoding"></a><div id="ETreeOnlyTestCase.test_tostring_method_text_encoding-def"><a name="L3536"></a><tt class="py-lineno">3536</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_method_text_encoding-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_method_text_encoding');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_encoding">test_tostring_method_text_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="ETreeOnlyTestCase.test_tostring_method_text_encoding-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_method_text_encoding-expanded"><a name="L3537"></a><tt class="py-lineno">3537</tt>  <tt class="py-line">        <tt id="link-3675" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3675', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3676" 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-3700', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3701" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3701', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3547"></a><tt class="py-lineno">3547</tt>  <tt class="py-line">        <tt id="link-3702" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3676', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3677" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3677', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3538"></a><tt class="py-lineno">3538</tt>  <tt class="py-line">        <tt id="link-3678" 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-3702', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3703" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3678', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3679" 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-3703', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3704" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3679', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3680" 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-3704', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3548"></a><tt class="py-lineno">3548</tt>  <tt class="py-line">        <tt id="link-3705" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3705', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3706" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3680', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3539"></a><tt class="py-lineno">3539</tt>  <tt class="py-line">        <tt id="link-3681" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3681', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3682" 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-3706', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3707" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3707', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3549"></a><tt class="py-lineno">3549</tt>  <tt class="py-line">         </tt>
-<a name="L3550"></a><tt class="py-lineno">3550</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3708" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3682', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3683" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3683', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3540"></a><tt class="py-lineno">3540</tt>  <tt class="py-line">         </tt>
+<a name="L3541"></a><tt class="py-lineno">3541</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3684" 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-3708', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3551"></a><tt class="py-lineno">3551</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3709" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3684', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3542"></a><tt class="py-lineno">3542</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3685" 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-3709', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"A"</tt> </tt>
-<a name="L3552"></a><tt class="py-lineno">3552</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3710" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3710', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"tail"</tt> </tt>
-<a name="L3553"></a><tt class="py-lineno">3553</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3711" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3711', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3554"></a><tt class="py-lineno">3554</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3712" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3685', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"A"</tt> </tt>
+<a name="L3543"></a><tt class="py-lineno">3543</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3686" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3686', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"tail"</tt> </tt>
+<a name="L3544"></a><tt class="py-lineno">3544</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3687" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3687', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3545"></a><tt class="py-lineno">3545</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3688" 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-3712', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"B"</tt> </tt>
-<a name="L3555"></a><tt class="py-lineno">3555</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3713" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3713', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-3714" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3714', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"S&#248;k p&#229; nettet"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3556"></a><tt class="py-lineno">3556</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3715" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3715', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3557"></a><tt class="py-lineno">3557</tt>  <tt class="py-line">        <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-3716" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3688', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"B"</tt> </tt>
+<a name="L3546"></a><tt class="py-lineno">3546</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3689" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3689', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-3690" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3690', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">"S&#248;k p&#229; nettet"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3547"></a><tt class="py-lineno">3547</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3691" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3691', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3548"></a><tt class="py-lineno">3548</tt>  <tt class="py-line">        <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-3692" 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-3716', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"C"</tt> </tt>
-<a name="L3558"></a><tt class="py-lineno">3558</tt>  <tt class="py-line"> </tt>
-<a name="L3559"></a><tt class="py-lineno">3559</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3717" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3717', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3718" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3718', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt id="link-3719" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3719', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"UTF-16"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3560"></a><tt class="py-lineno">3560</tt>  <tt class="py-line"> </tt>
-<a name="L3561"></a><tt class="py-lineno">3561</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3720" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3720', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ABS&#248;k p&#229; nettetCtail'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</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="L3562"></a><tt class="py-lineno">3562</tt>  <tt class="py-line">                          <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3563"></a><tt class="py-lineno">3563</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_method_text_unicode"></a><div id="ETreeOnlyTestCase.test_tostring_method_text_unicode-def"><a name="L3564"></a><tt class="py-lineno">3564</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_method_text_unicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_method_text_unicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_unicode">test_tostring_method_text_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="ETreeOnlyTestCase.test_tostring_method_text_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_method_text_unicode-expanded"><a name="L3565"></a><tt class="py-lineno">3565</tt>  <tt class="py-line">        <tt id="link-3721" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3721', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3722" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3692', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"C"</tt> </tt>
+<a name="L3549"></a><tt class="py-lineno">3549</tt>  <tt class="py-line"> </tt>
+<a name="L3550"></a><tt class="py-lineno">3550</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3693" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3693', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3694" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3694', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">"text"</tt><tt class="py-op">,</tt> <tt id="link-3695" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3695', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"UTF-16"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3551"></a><tt class="py-lineno">3551</tt>  <tt class="py-line"> </tt>
+<a name="L3552"></a><tt class="py-lineno">3552</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3696" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3696', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'ABS&#248;k p&#229; nettetCtail'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</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="L3553"></a><tt class="py-lineno">3553</tt>  <tt class="py-line">                          <tt class="py-name">result</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3554"></a><tt class="py-lineno">3554</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_method_text_unicode"></a><div id="ETreeOnlyTestCase.test_tostring_method_text_unicode-def"><a name="L3555"></a><tt class="py-lineno">3555</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_method_text_unicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_method_text_unicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_method_text_unicode">test_tostring_method_text_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="ETreeOnlyTestCase.test_tostring_method_text_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_method_text_unicode-expanded"><a name="L3556"></a><tt class="py-lineno">3556</tt>  <tt class="py-line">        <tt id="link-3697" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3697', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3698" 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-3722', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3723" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3723', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3566"></a><tt class="py-lineno">3566</tt>  <tt class="py-line">        <tt id="link-3724" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3698', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3699" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3699', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3557"></a><tt class="py-lineno">3557</tt>  <tt class="py-line">        <tt id="link-3700" 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-3724', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3725" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3700', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3701" 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-3725', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3726" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3701', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3702" 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-3726', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3567"></a><tt class="py-lineno">3567</tt>  <tt class="py-line">        <tt id="link-3727" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3727', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3728" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3702', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3558"></a><tt class="py-lineno">3558</tt>  <tt class="py-line">        <tt id="link-3703" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3703', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3704" 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-3728', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3729" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3729', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3568"></a><tt class="py-lineno">3568</tt>  <tt class="py-line">         </tt>
-<a name="L3569"></a><tt class="py-lineno">3569</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3730" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3704', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3705" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3705', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3559"></a><tt class="py-lineno">3559</tt>  <tt class="py-line">         </tt>
+<a name="L3560"></a><tt class="py-lineno">3560</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3706" 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-3730', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3570"></a><tt class="py-lineno">3570</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3731" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3706', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3561"></a><tt class="py-lineno">3561</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3707" 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-3731', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-3732" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3732', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'S&#248;k p&#229; nettetA'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3571"></a><tt class="py-lineno">3571</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3733" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3733', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"tail"</tt> </tt>
-<a name="L3572"></a><tt class="py-lineno">3572</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3734" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3734', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3573"></a><tt class="py-lineno">3573</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3735" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3707', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt id="link-3708" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3708', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'S&#248;k p&#229; nettetA'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3562"></a><tt class="py-lineno">3562</tt>  <tt class="py-line">        <tt class="py-name">a</tt><tt class="py-op">.</tt><tt id="link-3709" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3709', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"tail"</tt> </tt>
+<a name="L3563"></a><tt class="py-lineno">3563</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3710" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3710', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3564"></a><tt class="py-lineno">3564</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3711" 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-3735', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"B"</tt> </tt>
-<a name="L3574"></a><tt class="py-lineno">3574</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3736" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3736', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-3737" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3737', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'S&#248;k p&#229; nettetB'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3575"></a><tt class="py-lineno">3575</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3738" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3738', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3576"></a><tt class="py-lineno">3576</tt>  <tt class="py-line">        <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-3739" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3711', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"B"</tt> </tt>
+<a name="L3565"></a><tt class="py-lineno">3565</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3712" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3712', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt id="link-3713" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3713', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'S&#248;k p&#229; nettetB'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3566"></a><tt class="py-lineno">3566</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3714" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3714', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3567"></a><tt class="py-lineno">3567</tt>  <tt class="py-line">        <tt class="py-name">c</tt><tt class="py-op">.</tt><tt id="link-3715" 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-3739', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"C"</tt> </tt>
-<a name="L3577"></a><tt class="py-lineno">3577</tt>  <tt class="py-line">         </tt>
-<a name="L3578"></a><tt class="py-lineno">3578</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">UnicodeEncodeError</tt><tt class="py-op">,</tt> </tt>
-<a name="L3579"></a><tt class="py-lineno">3579</tt>  <tt class="py-line">                          <tt id="link-3740" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3740', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3741" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3741', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">"text"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3580"></a><tt class="py-lineno">3580</tt>  <tt class="py-line">         </tt>
-<a name="L3581"></a><tt class="py-lineno">3581</tt>  <tt class="py-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="L3582"></a><tt class="py-lineno">3582</tt>  <tt class="py-line">            <tt id="link-3742" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3742', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'S&#248;k p&#229; nettetABS&#248;k p&#229; nettetBCtail'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</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="L3583"></a><tt class="py-lineno">3583</tt>  <tt class="py-line">            <tt id="link-3743" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3743', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3744" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3744', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"UTF-8"</tt><tt class="py-op">,</tt> <tt id="link-3745" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3745', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">"text"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3584"></a><tt class="py-lineno">3584</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tounicode"></a><div id="ETreeOnlyTestCase.test_tounicode-def"><a name="L3585"></a><tt class="py-lineno">3585</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode">test_tounicode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tounicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode-expanded"><a name="L3586"></a><tt class="py-lineno">3586</tt>  <tt class="py-line">        <tt id="link-3746" class="py-name" targets="Function lxml.etree.tounicode()=lxml.etree-module.html#tounicode"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3746', 'tounicode', 'link-3746');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3747" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3715', 'text', 'link-189');">text</a></tt> <tt class="py-op">=</tt> <tt class="py-string">"C"</tt> </tt>
+<a name="L3568"></a><tt class="py-lineno">3568</tt>  <tt class="py-line">         </tt>
+<a name="L3569"></a><tt class="py-lineno">3569</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">UnicodeEncodeError</tt><tt class="py-op">,</tt> </tt>
+<a name="L3570"></a><tt class="py-lineno">3570</tt>  <tt class="py-line">                          <tt id="link-3716" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3716', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">,</tt> <tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3717" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3717', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">"text"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3571"></a><tt class="py-lineno">3571</tt>  <tt class="py-line">         </tt>
+<a name="L3572"></a><tt class="py-lineno">3572</tt>  <tt class="py-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="L3573"></a><tt class="py-lineno">3573</tt>  <tt class="py-line">            <tt id="link-3718" class="py-name"><a title="lxml.tests.common_imports._str" class="py-name" href="#" onclick="return doclink('link-3718', '_str', 'link-23');">_str</a></tt><tt class="py-op">(</tt><tt class="py-string">'S&#248;k p&#229; nettetABS&#248;k p&#229; nettetBCtail'</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">encode</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="L3574"></a><tt class="py-lineno">3574</tt>  <tt class="py-line">            <tt id="link-3719" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3719', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3720" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3720', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-string">"UTF-8"</tt><tt class="py-op">,</tt> <tt id="link-3721" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-3721', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">"text"</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3575"></a><tt class="py-lineno">3575</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tounicode"></a><div id="ETreeOnlyTestCase.test_tounicode-def"><a name="L3576"></a><tt class="py-lineno">3576</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode">test_tounicode</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tounicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode-expanded"><a name="L3577"></a><tt class="py-lineno">3577</tt>  <tt class="py-line">        <tt id="link-3722" class="py-name" targets="Function lxml.etree.tounicode()=lxml.etree-module.html#tounicode"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3722', 'tounicode', 'link-3722');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3723" 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-3747', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3748" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3748', 'tounicode', 'link-3746');">tounicode</a></tt> </tt>
-<a name="L3587"></a><tt class="py-lineno">3587</tt>  <tt class="py-line">        <tt id="link-3749" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3723', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3724" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3724', 'tounicode', 'link-3722');">tounicode</a></tt> </tt>
+<a name="L3578"></a><tt class="py-lineno">3578</tt>  <tt class="py-line">        <tt id="link-3725" 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-3749', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3750" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3725', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3726" 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-3750', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3751" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3726', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3727" 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-3751', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3588"></a><tt class="py-lineno">3588</tt>  <tt class="py-line">        <tt id="link-3752" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3752', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3753" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3727', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3579"></a><tt class="py-lineno">3579</tt>  <tt class="py-line">        <tt id="link-3728" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3728', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3729" 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-3753', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3754" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3754', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3589"></a><tt class="py-lineno">3589</tt>  <tt class="py-line">         </tt>
-<a name="L3590"></a><tt class="py-lineno">3590</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3755" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3729', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3730" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3730', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3580"></a><tt class="py-lineno">3580</tt>  <tt class="py-line">         </tt>
+<a name="L3581"></a><tt class="py-lineno">3581</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3731" 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-3755', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3591"></a><tt class="py-lineno">3591</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3756" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3756', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3592"></a><tt class="py-lineno">3592</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3757" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3757', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3593"></a><tt class="py-lineno">3593</tt>  <tt class="py-line">         </tt>
-<a name="L3594"></a><tt class="py-lineno">3594</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-3758" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3758', 'tounicode', 'link-3746');">tounicode</a></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-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3595"></a><tt class="py-lineno">3595</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3759" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3759', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3596"></a><tt class="py-lineno">3596</tt>  <tt class="py-line">                          <tt id="link-3760" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3760', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3761" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3761', 'tounicode', 'link-3746');">tounicode</a></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-op">)</tt> </tt>
-</div><a name="L3597"></a><tt class="py-lineno">3597</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tounicode_element"></a><div id="ETreeOnlyTestCase.test_tounicode_element-def"><a name="L3598"></a><tt class="py-lineno">3598</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element">test_tounicode_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="ETreeOnlyTestCase.test_tounicode_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_element-expanded"><a name="L3599"></a><tt class="py-lineno">3599</tt>  <tt class="py-line">        <tt id="link-3762" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3762', 'tounicode', 'link-3746');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3763" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3731', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3582"></a><tt class="py-lineno">3582</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3732" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3732', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3583"></a><tt class="py-lineno">3583</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3733" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3733', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3584"></a><tt class="py-lineno">3584</tt>  <tt class="py-line">         </tt>
+<a name="L3585"></a><tt class="py-lineno">3585</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-3734" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3734', 'tounicode', 'link-3722');">tounicode</a></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-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3586"></a><tt class="py-lineno">3586</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3735" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3735', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3587"></a><tt class="py-lineno">3587</tt>  <tt class="py-line">                          <tt id="link-3736" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3736', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3737" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3737', 'tounicode', 'link-3722');">tounicode</a></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-op">)</tt> </tt>
+</div><a name="L3588"></a><tt class="py-lineno">3588</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tounicode_element"></a><div id="ETreeOnlyTestCase.test_tounicode_element-def"><a name="L3589"></a><tt class="py-lineno">3589</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element">test_tounicode_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="ETreeOnlyTestCase.test_tounicode_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_element-expanded"><a name="L3590"></a><tt class="py-lineno">3590</tt>  <tt class="py-line">        <tt id="link-3738" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3738', 'tounicode', 'link-3722');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3739" 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-3763', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3764" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3764', 'tounicode', 'link-3746');">tounicode</a></tt> </tt>
-<a name="L3600"></a><tt class="py-lineno">3600</tt>  <tt class="py-line">        <tt id="link-3765" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3739', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3740" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3740', 'tounicode', 'link-3722');">tounicode</a></tt> </tt>
+<a name="L3591"></a><tt class="py-lineno">3591</tt>  <tt class="py-line">        <tt id="link-3741" 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-3765', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3766" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3741', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3742" 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-3766', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3767" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3742', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3743" 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-3767', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3601"></a><tt class="py-lineno">3601</tt>  <tt class="py-line">        <tt id="link-3768" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3768', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3769" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3743', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3592"></a><tt class="py-lineno">3592</tt>  <tt class="py-line">        <tt id="link-3744" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3744', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3745" 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-3769', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3770" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3770', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3602"></a><tt class="py-lineno">3602</tt>  <tt class="py-line">         </tt>
-<a name="L3603"></a><tt class="py-lineno">3603</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3771" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3745', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3746" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3746', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3593"></a><tt class="py-lineno">3593</tt>  <tt class="py-line">         </tt>
+<a name="L3594"></a><tt class="py-lineno">3594</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3747" 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-3771', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3604"></a><tt class="py-lineno">3604</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3772" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3772', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3605"></a><tt class="py-lineno">3605</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3773" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3773', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3606"></a><tt class="py-lineno">3606</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3774" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3774', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3607"></a><tt class="py-lineno">3607</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-3775" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3775', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3608"></a><tt class="py-lineno">3608</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-3776" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3776', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3609"></a><tt class="py-lineno">3609</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3777" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3777', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3610"></a><tt class="py-lineno">3610</tt>  <tt class="py-line">                          <tt id="link-3778" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3778', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3779" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3779', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3611"></a><tt class="py-lineno">3611</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3780" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3780', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;c&gt;&lt;d&gt;&lt;/d&gt;&lt;/c&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3612"></a><tt class="py-lineno">3612</tt>  <tt class="py-line">                          <tt id="link-3781" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3781', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3782" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3782', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3613"></a><tt class="py-lineno">3613</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tounicode_none"></a><div id="ETreeOnlyTestCase.test_tounicode_none-def"><a name="L3614"></a><tt class="py-lineno">3614</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_none">test_tounicode_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="ETreeOnlyTestCase.test_tounicode_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_none-expanded"><a name="L3615"></a><tt class="py-lineno">3615</tt>  <tt class="py-line">        <tt id="link-3783" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3783', 'tounicode', 'link-3746');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3784" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3747', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3595"></a><tt class="py-lineno">3595</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3748" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3748', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3596"></a><tt class="py-lineno">3596</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3749" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3749', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3597"></a><tt class="py-lineno">3597</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3750" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3750', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3598"></a><tt class="py-lineno">3598</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-3751" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3751', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3599"></a><tt class="py-lineno">3599</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-3752" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3752', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3600"></a><tt class="py-lineno">3600</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3753" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3753', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3601"></a><tt class="py-lineno">3601</tt>  <tt class="py-line">                          <tt id="link-3754" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3754', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3755" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3755', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3602"></a><tt class="py-lineno">3602</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3756" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3756', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;c&gt;&lt;d&gt;&lt;/d&gt;&lt;/c&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3603"></a><tt class="py-lineno">3603</tt>  <tt class="py-line">                          <tt id="link-3757" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3757', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3758" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3758', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3604"></a><tt class="py-lineno">3604</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tounicode_none"></a><div id="ETreeOnlyTestCase.test_tounicode_none-def"><a name="L3605"></a><tt class="py-lineno">3605</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_none">test_tounicode_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="ETreeOnlyTestCase.test_tounicode_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_none-expanded"><a name="L3606"></a><tt class="py-lineno">3606</tt>  <tt class="py-line">        <tt id="link-3759" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3759', 'tounicode', 'link-3722');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3760" 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-3784', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3785" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3785', 'tounicode', 'link-3746');">tounicode</a></tt> </tt>
-<a name="L3616"></a><tt class="py-lineno">3616</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">self</tt><tt class="py-op">.</tt><tt id="link-3786" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3760', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3761" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3761', 'tounicode', 'link-3722');">tounicode</a></tt> </tt>
+<a name="L3607"></a><tt class="py-lineno">3607</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">self</tt><tt class="py-op">.</tt><tt id="link-3762" 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-3786', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3787" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3787', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3617"></a><tt class="py-lineno">3617</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tounicode_element_tail"></a><div id="ETreeOnlyTestCase.test_tounicode_element_tail-def"><a name="L3618"></a><tt class="py-lineno">3618</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_element_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_element_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element_tail">test_tounicode_element_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tounicode_element_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_element_tail-expanded"><a name="L3619"></a><tt class="py-lineno">3619</tt>  <tt class="py-line">        <tt id="link-3788" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3788', 'tounicode', 'link-3746');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3789" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3762', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3763" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3763', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">,</tt> <tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3608"></a><tt class="py-lineno">3608</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tounicode_element_tail"></a><div id="ETreeOnlyTestCase.test_tounicode_element_tail-def"><a name="L3609"></a><tt class="py-lineno">3609</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_element_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_element_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_element_tail">test_tounicode_element_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tounicode_element_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_element_tail-expanded"><a name="L3610"></a><tt class="py-lineno">3610</tt>  <tt class="py-line">        <tt id="link-3764" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3764', 'tounicode', 'link-3722');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3765" 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-3789', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3790" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3790', 'tounicode', 'link-3746');">tounicode</a></tt> </tt>
-<a name="L3620"></a><tt class="py-lineno">3620</tt>  <tt class="py-line">        <tt id="link-3791" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3765', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3766" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3766', 'tounicode', 'link-3722');">tounicode</a></tt> </tt>
+<a name="L3611"></a><tt class="py-lineno">3611</tt>  <tt class="py-line">        <tt id="link-3767" 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-3791', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3792" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3767', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3768" 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-3792', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3793" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3768', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3769" 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-3793', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3621"></a><tt class="py-lineno">3621</tt>  <tt class="py-line">        <tt id="link-3794" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3794', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3795" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3769', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3612"></a><tt class="py-lineno">3612</tt>  <tt class="py-line">        <tt id="link-3770" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3770', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3771" 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-3795', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3796" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3796', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3622"></a><tt class="py-lineno">3622</tt>  <tt class="py-line">         </tt>
-<a name="L3623"></a><tt class="py-lineno">3623</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3797" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3771', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3772" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3772', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3613"></a><tt class="py-lineno">3613</tt>  <tt class="py-line">         </tt>
+<a name="L3614"></a><tt class="py-lineno">3614</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3773" 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-3797', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3624"></a><tt class="py-lineno">3624</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3798" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3798', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3625"></a><tt class="py-lineno">3625</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3799" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3799', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3626"></a><tt class="py-lineno">3626</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3800" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3800', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3627"></a><tt class="py-lineno">3627</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3801" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3801', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Foo'</tt> </tt>
-<a name="L3628"></a><tt class="py-lineno">3628</tt>  <tt class="py-line"> </tt>
-<a name="L3629"></a><tt class="py-lineno">3629</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-3802" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3802', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3630"></a><tt class="py-lineno">3630</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-3803" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3803', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b/&gt;Foo'</tt> <tt class="py-keyword">or</tt> </tt>
-<a name="L3631"></a><tt class="py-lineno">3631</tt>  <tt class="py-line">                     <tt id="link-3804" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3804', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b /&gt;Foo'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3632"></a><tt class="py-lineno">3632</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tounicode_pretty"></a><div id="ETreeOnlyTestCase.test_tounicode_pretty-def"><a name="L3633"></a><tt class="py-lineno">3633</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_pretty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_pretty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_pretty">test_tounicode_pretty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tounicode_pretty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_pretty-expanded"><a name="L3634"></a><tt class="py-lineno">3634</tt>  <tt class="py-line">        <tt id="link-3805" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3805', 'tounicode', 'link-3746');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3806" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3773', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3615"></a><tt class="py-lineno">3615</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3774" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3774', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3616"></a><tt class="py-lineno">3616</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3775" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3775', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3617"></a><tt class="py-lineno">3617</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3776" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3776', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3618"></a><tt class="py-lineno">3618</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3777" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3777', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Foo'</tt> </tt>
+<a name="L3619"></a><tt class="py-lineno">3619</tt>  <tt class="py-line"> </tt>
+<a name="L3620"></a><tt class="py-lineno">3620</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-3778" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3778', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3621"></a><tt class="py-lineno">3621</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-3779" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3779', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b/&gt;Foo'</tt> <tt class="py-keyword">or</tt> </tt>
+<a name="L3622"></a><tt class="py-lineno">3622</tt>  <tt class="py-line">                     <tt id="link-3780" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3780', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b /&gt;Foo'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3623"></a><tt class="py-lineno">3623</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tounicode_pretty"></a><div id="ETreeOnlyTestCase.test_tounicode_pretty-def"><a name="L3624"></a><tt class="py-lineno">3624</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tounicode_pretty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tounicode_pretty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tounicode_pretty">test_tounicode_pretty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tounicode_pretty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tounicode_pretty-expanded"><a name="L3625"></a><tt class="py-lineno">3625</tt>  <tt class="py-line">        <tt id="link-3781" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3781', 'tounicode', 'link-3722');">tounicode</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3782" 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-3806', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3807" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3807', 'tounicode', 'link-3746');">tounicode</a></tt> </tt>
-<a name="L3635"></a><tt class="py-lineno">3635</tt>  <tt class="py-line">        <tt id="link-3808" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3782', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3783" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3783', 'tounicode', 'link-3722');">tounicode</a></tt> </tt>
+<a name="L3626"></a><tt class="py-lineno">3626</tt>  <tt class="py-line">        <tt id="link-3784" 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-3808', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3809" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3784', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3785" 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-3809', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3810" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3785', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3786" 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-3810', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3636"></a><tt class="py-lineno">3636</tt>  <tt class="py-line">        <tt id="link-3811" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3811', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3812" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3786', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3627"></a><tt class="py-lineno">3627</tt>  <tt class="py-line">        <tt id="link-3787" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3787', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3788" 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-3812', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3813" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3813', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3637"></a><tt class="py-lineno">3637</tt>  <tt class="py-line"> </tt>
-<a name="L3638"></a><tt class="py-lineno">3638</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3814" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3788', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3789" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3789', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3628"></a><tt class="py-lineno">3628</tt>  <tt class="py-line"> </tt>
+<a name="L3629"></a><tt class="py-lineno">3629</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3790" 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-3814', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3639"></a><tt class="py-lineno">3639</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3815" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3815', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3640"></a><tt class="py-lineno">3640</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3816" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3816', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3641"></a><tt class="py-lineno">3641</tt>  <tt class="py-line"> </tt>
-<a name="L3642"></a><tt class="py-lineno">3642</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3817" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3817', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L3643"></a><tt class="py-lineno">3643</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3644"></a><tt class="py-lineno">3644</tt>  <tt class="py-line"> </tt>
-<a name="L3645"></a><tt class="py-lineno">3645</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3818" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3818', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3646"></a><tt class="py-lineno">3646</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3647"></a><tt class="py-lineno">3647</tt>  <tt class="py-line"> </tt>
-<a name="L3648"></a><tt class="py-lineno">3648</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3819" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3819', 'tounicode', 'link-3746');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3649"></a><tt class="py-lineno">3649</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;\n  &lt;b/&gt;\n  &lt;c/&gt;\n&lt;/a&gt;\n"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3650"></a><tt class="py-lineno">3650</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_unicode"></a><div id="ETreeOnlyTestCase.test_tostring_unicode-def"><a name="L3651"></a><tt class="py-lineno">3651</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode">test_tostring_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="ETreeOnlyTestCase.test_tostring_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode-expanded"><a name="L3652"></a><tt class="py-lineno">3652</tt>  <tt class="py-line">        <tt id="link-3820" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3820', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3821" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3790', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3630"></a><tt class="py-lineno">3630</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3791" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3791', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3631"></a><tt class="py-lineno">3631</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3792" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3792', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3632"></a><tt class="py-lineno">3632</tt>  <tt class="py-line"> </tt>
+<a name="L3633"></a><tt class="py-lineno">3633</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3793" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3793', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L3634"></a><tt class="py-lineno">3634</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3635"></a><tt class="py-lineno">3635</tt>  <tt class="py-line"> </tt>
+<a name="L3636"></a><tt class="py-lineno">3636</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3794" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3794', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3637"></a><tt class="py-lineno">3637</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3638"></a><tt class="py-lineno">3638</tt>  <tt class="py-line"> </tt>
+<a name="L3639"></a><tt class="py-lineno">3639</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3795" class="py-name"><a title="lxml.etree.tounicode" class="py-name" href="#" onclick="return doclink('link-3795', 'tounicode', 'link-3722');">tounicode</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3640"></a><tt class="py-lineno">3640</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;\n  &lt;b/&gt;\n  &lt;c/&gt;\n&lt;/a&gt;\n"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3641"></a><tt class="py-lineno">3641</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_unicode"></a><div id="ETreeOnlyTestCase.test_tostring_unicode-def"><a name="L3642"></a><tt class="py-lineno">3642</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode">test_tostring_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="ETreeOnlyTestCase.test_tostring_unicode-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode-expanded"><a name="L3643"></a><tt class="py-lineno">3643</tt>  <tt class="py-line">        <tt id="link-3796" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3796', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3797" 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-3821', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3822" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3822', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3653"></a><tt class="py-lineno">3653</tt>  <tt class="py-line">        <tt id="link-3823" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3797', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3798" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3798', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3644"></a><tt class="py-lineno">3644</tt>  <tt class="py-line">        <tt id="link-3799" 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-3823', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3824" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3799', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3800" 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-3824', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3825" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3800', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3801" 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-3825', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3654"></a><tt class="py-lineno">3654</tt>  <tt class="py-line">        <tt id="link-3826" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3826', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3827" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3801', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3645"></a><tt class="py-lineno">3645</tt>  <tt class="py-line">        <tt id="link-3802" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3802', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3803" 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-3827', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3828" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3828', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3655"></a><tt class="py-lineno">3655</tt>  <tt class="py-line">         </tt>
-<a name="L3656"></a><tt class="py-lineno">3656</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3829" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3803', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3804" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3804', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3646"></a><tt class="py-lineno">3646</tt>  <tt class="py-line">         </tt>
+<a name="L3647"></a><tt class="py-lineno">3647</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3805" 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-3829', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3657"></a><tt class="py-lineno">3657</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3830" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3830', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3658"></a><tt class="py-lineno">3658</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3831" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3831', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3659"></a><tt class="py-lineno">3659</tt>  <tt class="py-line">         </tt>
-<a name="L3660"></a><tt class="py-lineno">3660</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-3832" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3832', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3833" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3833', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3661"></a><tt class="py-lineno">3661</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3834" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3834', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3662"></a><tt class="py-lineno">3662</tt>  <tt class="py-line">                          <tt id="link-3835" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3835', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3836" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3836', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3837" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3837', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3663"></a><tt class="py-lineno">3663</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_unicode_element"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_element-def"><a name="L3664"></a><tt class="py-lineno">3664</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element">test_tostring_unicode_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="ETreeOnlyTestCase.test_tostring_unicode_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_element-expanded"><a name="L3665"></a><tt class="py-lineno">3665</tt>  <tt class="py-line">        <tt id="link-3838" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3838', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3839" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3805', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3648"></a><tt class="py-lineno">3648</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3806" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3806', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3649"></a><tt class="py-lineno">3649</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3807" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3807', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3650"></a><tt class="py-lineno">3650</tt>  <tt class="py-line">         </tt>
+<a name="L3651"></a><tt class="py-lineno">3651</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-3808" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3808', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3809" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3809', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3652"></a><tt class="py-lineno">3652</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3810" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3810', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;c&gt;&lt;/c&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3653"></a><tt class="py-lineno">3653</tt>  <tt class="py-line">                          <tt id="link-3811" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3811', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3812" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3812', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3813" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3813', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3654"></a><tt class="py-lineno">3654</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_unicode_element"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_element-def"><a name="L3655"></a><tt class="py-lineno">3655</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_element-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element">test_tostring_unicode_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="ETreeOnlyTestCase.test_tostring_unicode_element-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_element-expanded"><a name="L3656"></a><tt class="py-lineno">3656</tt>  <tt class="py-line">        <tt id="link-3814" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3814', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3815" 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-3839', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3840" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3840', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3666"></a><tt class="py-lineno">3666</tt>  <tt class="py-line">        <tt id="link-3841" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3815', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3816" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3816', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3657"></a><tt class="py-lineno">3657</tt>  <tt class="py-line">        <tt id="link-3817" 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-3841', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3842" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3817', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3818" 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-3842', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3843" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3818', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3819" 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-3843', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3667"></a><tt class="py-lineno">3667</tt>  <tt class="py-line">        <tt id="link-3844" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3844', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3845" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3819', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3658"></a><tt class="py-lineno">3658</tt>  <tt class="py-line">        <tt id="link-3820" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3820', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3821" 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-3845', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3846" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3846', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3668"></a><tt class="py-lineno">3668</tt>  <tt class="py-line">         </tt>
-<a name="L3669"></a><tt class="py-lineno">3669</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3847" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3821', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3822" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3822', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3659"></a><tt class="py-lineno">3659</tt>  <tt class="py-line">         </tt>
+<a name="L3660"></a><tt class="py-lineno">3660</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3823" 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-3847', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3670"></a><tt class="py-lineno">3670</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3848" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3848', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3671"></a><tt class="py-lineno">3671</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3849" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3849', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3672"></a><tt class="py-lineno">3672</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3850" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3850', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3673"></a><tt class="py-lineno">3673</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-3851" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3851', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3852" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3852', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3674"></a><tt class="py-lineno">3674</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-3853" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3853', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-3854" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3854', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3675"></a><tt class="py-lineno">3675</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3855" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3855', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3676"></a><tt class="py-lineno">3676</tt>  <tt class="py-line">                          <tt id="link-3856" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3856', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3857" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3857', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3858" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3858', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3677"></a><tt class="py-lineno">3677</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3859" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3859', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;c&gt;&lt;d&gt;&lt;/d&gt;&lt;/c&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3678"></a><tt class="py-lineno">3678</tt>  <tt class="py-line">                          <tt id="link-3860" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3860', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3861" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3861', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-3862" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3862', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3679"></a><tt class="py-lineno">3679</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_unicode_none"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_none-def"><a name="L3680"></a><tt class="py-lineno">3680</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_none">test_tostring_unicode_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="ETreeOnlyTestCase.test_tostring_unicode_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_none-expanded"><a name="L3681"></a><tt class="py-lineno">3681</tt>  <tt class="py-line">        <tt id="link-3863" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3863', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3864" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3823', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3661"></a><tt class="py-lineno">3661</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3824" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3824', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3662"></a><tt class="py-lineno">3662</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3825" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3825', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3663"></a><tt class="py-lineno">3663</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3826" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3826', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3664"></a><tt class="py-lineno">3664</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-3827" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3827', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3828" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3828', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3665"></a><tt class="py-lineno">3665</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-3829" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3829', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-3830" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3830', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3666"></a><tt class="py-lineno">3666</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3831" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3831', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3667"></a><tt class="py-lineno">3667</tt>  <tt class="py-line">                          <tt id="link-3832" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3832', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3833" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3833', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3834" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3834', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3668"></a><tt class="py-lineno">3668</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3835" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3835', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;c&gt;&lt;d&gt;&lt;/d&gt;&lt;/c&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3669"></a><tt class="py-lineno">3669</tt>  <tt class="py-line">                          <tt id="link-3836" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3836', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3837" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3837', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt id="link-3838" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3838', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3670"></a><tt class="py-lineno">3670</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_unicode_none"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_none-def"><a name="L3671"></a><tt class="py-lineno">3671</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_none-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_none');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_none">test_tostring_unicode_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="ETreeOnlyTestCase.test_tostring_unicode_none-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_none-expanded"><a name="L3672"></a><tt class="py-lineno">3672</tt>  <tt class="py-line">        <tt id="link-3839" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3839', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3840" 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-3864', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3865" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3865', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3682"></a><tt class="py-lineno">3682</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">self</tt><tt class="py-op">.</tt><tt id="link-3866" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3840', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3841" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3841', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3673"></a><tt class="py-lineno">3673</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">self</tt><tt class="py-op">.</tt><tt id="link-3842" 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-3866', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3867" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3867', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L3683"></a><tt class="py-lineno">3683</tt>  <tt class="py-line">                          <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-3868" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3868', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3684"></a><tt class="py-lineno">3684</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_unicode_element_tail"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-def"><a name="L3685"></a><tt class="py-lineno">3685</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_element_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element_tail">test_tostring_unicode_element_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-expanded"><a name="L3686"></a><tt class="py-lineno">3686</tt>  <tt class="py-line">        <tt id="link-3869" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3869', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3870" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3842', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3843" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3843', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L3674"></a><tt class="py-lineno">3674</tt>  <tt class="py-line">                          <tt class="py-name">None</tt><tt class="py-op">,</tt> <tt id="link-3844" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3844', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3675"></a><tt class="py-lineno">3675</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_unicode_element_tail"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-def"><a name="L3676"></a><tt class="py-lineno">3676</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_element_tail');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_element_tail">test_tostring_unicode_element_tail</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_element_tail-expanded"><a name="L3677"></a><tt class="py-lineno">3677</tt>  <tt class="py-line">        <tt id="link-3845" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3845', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3846" 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-3870', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3871" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3871', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3687"></a><tt class="py-lineno">3687</tt>  <tt class="py-line">        <tt id="link-3872" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3846', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3847" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3847', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3678"></a><tt class="py-lineno">3678</tt>  <tt class="py-line">        <tt id="link-3848" 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-3872', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3873" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3848', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3849" 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-3873', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3874" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3849', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3850" 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-3874', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3688"></a><tt class="py-lineno">3688</tt>  <tt class="py-line">        <tt id="link-3875" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3875', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3876" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3850', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3679"></a><tt class="py-lineno">3679</tt>  <tt class="py-line">        <tt id="link-3851" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3851', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3852" 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-3876', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3877" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3877', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3689"></a><tt class="py-lineno">3689</tt>  <tt class="py-line">         </tt>
-<a name="L3690"></a><tt class="py-lineno">3690</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3878" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3852', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3853" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3853', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3680"></a><tt class="py-lineno">3680</tt>  <tt class="py-line">         </tt>
+<a name="L3681"></a><tt class="py-lineno">3681</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3854" 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-3878', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3691"></a><tt class="py-lineno">3691</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3879" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3879', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3692"></a><tt class="py-lineno">3692</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3880" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3880', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3693"></a><tt class="py-lineno">3693</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3881" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3881', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3694"></a><tt class="py-lineno">3694</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3882" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3882', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Foo'</tt> </tt>
-<a name="L3695"></a><tt class="py-lineno">3695</tt>  <tt class="py-line"> </tt>
-<a name="L3696"></a><tt class="py-lineno">3696</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-3883" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3883', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3884" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3884', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3697"></a><tt class="py-lineno">3697</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-3885" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3885', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3886" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3886', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b/&gt;Foo'</tt> <tt class="py-keyword">or</tt> </tt>
-<a name="L3698"></a><tt class="py-lineno">3698</tt>  <tt class="py-line">                     <tt id="link-3887" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3887', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3888" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3888', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b /&gt;Foo'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3699"></a><tt class="py-lineno">3699</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_tostring_unicode_pretty"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_pretty-def"><a name="L3700"></a><tt class="py-lineno">3700</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_pretty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_pretty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_pretty">test_tostring_unicode_pretty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_tostring_unicode_pretty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_pretty-expanded"><a name="L3701"></a><tt class="py-lineno">3701</tt>  <tt class="py-line">        <tt id="link-3889" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3889', 'tostring', 'link-649');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3890" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3854', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3682"></a><tt class="py-lineno">3682</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3855" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3855', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3683"></a><tt class="py-lineno">3683</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3856" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3856', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3684"></a><tt class="py-lineno">3684</tt>  <tt class="py-line">        <tt class="py-name">d</tt> <tt class="py-op">=</tt> <tt id="link-3857" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3857', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">c</tt><tt class="py-op">,</tt> <tt class="py-string">'d'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3685"></a><tt class="py-lineno">3685</tt>  <tt class="py-line">        <tt class="py-name">b</tt><tt class="py-op">.</tt><tt id="link-3858" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3858', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'Foo'</tt> </tt>
+<a name="L3686"></a><tt class="py-lineno">3686</tt>  <tt class="py-line"> </tt>
+<a name="L3687"></a><tt class="py-lineno">3687</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-3859" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3859', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3860" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3860', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">_unicode</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3688"></a><tt class="py-lineno">3688</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-3861" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3861', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3862" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3862', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b/&gt;Foo'</tt> <tt class="py-keyword">or</tt> </tt>
+<a name="L3689"></a><tt class="py-lineno">3689</tt>  <tt class="py-line">                     <tt id="link-3863" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3863', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">,</tt> <tt id="link-3864" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3864', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-string">'&lt;b /&gt;Foo'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3690"></a><tt class="py-lineno">3690</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_tostring_unicode_pretty"></a><div id="ETreeOnlyTestCase.test_tostring_unicode_pretty-def"><a name="L3691"></a><tt class="py-lineno">3691</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_tostring_unicode_pretty-toggle" onclick="return toggle('ETreeOnlyTestCase.test_tostring_unicode_pretty');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_tostring_unicode_pretty">test_tostring_unicode_pretty</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_tostring_unicode_pretty-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_tostring_unicode_pretty-expanded"><a name="L3692"></a><tt class="py-lineno">3692</tt>  <tt class="py-line">        <tt id="link-3865" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3865', 'tostring', 'link-660');">tostring</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3866" 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-3890', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3891" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3891', 'tostring', 'link-649');">tostring</a></tt> </tt>
-<a name="L3702"></a><tt class="py-lineno">3702</tt>  <tt class="py-line">        <tt id="link-3892" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3866', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3867" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3867', 'tostring', 'link-660');">tostring</a></tt> </tt>
+<a name="L3693"></a><tt class="py-lineno">3693</tt>  <tt class="py-line">        <tt id="link-3868" 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-3892', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3893" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3868', 'Element', 'link-64');">Element</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3869" 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-3893', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3894" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3869', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3870" 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-3894', 'Element', 'link-64');">Element</a></tt> </tt>
-<a name="L3703"></a><tt class="py-lineno">3703</tt>  <tt class="py-line">        <tt id="link-3895" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3895', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3896" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3870', 'Element', 'link-64');">Element</a></tt> </tt>
+<a name="L3694"></a><tt class="py-lineno">3694</tt>  <tt class="py-line">        <tt id="link-3871" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3871', 'SubElement', 'link-107');">SubElement</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3872" 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-3896', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3897" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3897', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
-<a name="L3704"></a><tt class="py-lineno">3704</tt>  <tt class="py-line"> </tt>
-<a name="L3705"></a><tt class="py-lineno">3705</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3898" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3872', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3873" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3873', 'SubElement', 'link-107');">SubElement</a></tt> </tt>
+<a name="L3695"></a><tt class="py-lineno">3695</tt>  <tt class="py-line"> </tt>
+<a name="L3696"></a><tt class="py-lineno">3696</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt id="link-3874" 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-3898', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3706"></a><tt class="py-lineno">3706</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3899" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3899', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3707"></a><tt class="py-lineno">3707</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3900" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3900', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3708"></a><tt class="py-lineno">3708</tt>  <tt class="py-line"> </tt>
-<a name="L3709"></a><tt class="py-lineno">3709</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3901" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3901', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3902" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3902', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> </tt>
-<a name="L3710"></a><tt class="py-lineno">3710</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3711"></a><tt class="py-lineno">3711</tt>  <tt class="py-line"> </tt>
-<a name="L3712"></a><tt class="py-lineno">3712</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3903" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3903', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3904" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3904', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3713"></a><tt class="py-lineno">3713</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3714"></a><tt class="py-lineno">3714</tt>  <tt class="py-line"> </tt>
-<a name="L3715"></a><tt class="py-lineno">3715</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3905" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3905', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3906" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3906', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3716"></a><tt class="py-lineno">3716</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;\n  &lt;b/&gt;\n  &lt;c/&gt;\n&lt;/a&gt;\n"</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3717"></a><tt class="py-lineno">3717</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_pypy_proxy_collect"></a><div id="ETreeOnlyTestCase.test_pypy_proxy_collect-def"><a name="L3718"></a><tt class="py-lineno">3718</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pypy_proxy_collect-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pypy_proxy_collect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pypy_proxy_collect">test_pypy_proxy_collect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_pypy_proxy_collect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pypy_proxy_collect-expanded"><a name="L3719"></a><tt class="py-lineno">3719</tt>  <tt class="py-line">        <tt id="link-3907" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3907', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3908" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3874', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3697"></a><tt class="py-lineno">3697</tt>  <tt class="py-line">        <tt class="py-name">b</tt> <tt class="py-op">=</tt> <tt id="link-3875" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3875', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3698"></a><tt class="py-lineno">3698</tt>  <tt class="py-line">        <tt class="py-name">c</tt> <tt class="py-op">=</tt> <tt id="link-3876" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3876', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3699"></a><tt class="py-lineno">3699</tt>  <tt class="py-line"> </tt>
+<a name="L3700"></a><tt class="py-lineno">3700</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3877" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3877', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3878" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3878', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">)</tt> </tt>
+<a name="L3701"></a><tt class="py-lineno">3701</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3702"></a><tt class="py-lineno">3702</tt>  <tt class="py-line"> </tt>
+<a name="L3703"></a><tt class="py-lineno">3703</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3879" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3879', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3880" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3880', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3704"></a><tt class="py-lineno">3704</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;&lt;b/&gt;&lt;c/&gt;&lt;/a&gt;"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3705"></a><tt class="py-lineno">3705</tt>  <tt class="py-line"> </tt>
+<a name="L3706"></a><tt class="py-lineno">3706</tt>  <tt class="py-line">        <tt class="py-name">result</tt> <tt class="py-op">=</tt> <tt id="link-3881" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-3881', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">,</tt> <tt id="link-3882" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3882', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt class="py-name">_unicode</tt><tt class="py-op">,</tt> <tt class="py-name">pretty_print</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3707"></a><tt class="py-lineno">3707</tt>  <tt class="py-line">        <tt 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">result</tt><tt class="py-op">,</tt> <tt class="py-string">"&lt;a&gt;\n  &lt;b/&gt;\n  &lt;c/&gt;\n&lt;/a&gt;\n"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3708"></a><tt class="py-lineno">3708</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_pypy_proxy_collect"></a><div id="ETreeOnlyTestCase.test_pypy_proxy_collect-def"><a name="L3709"></a><tt class="py-lineno">3709</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_pypy_proxy_collect-toggle" onclick="return toggle('ETreeOnlyTestCase.test_pypy_proxy_collect');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_pypy_proxy_collect">test_pypy_proxy_collect</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_pypy_proxy_collect-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_pypy_proxy_collect-expanded"><a name="L3710"></a><tt class="py-lineno">3710</tt>  <tt class="py-line">        <tt id="link-3883" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3883', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3884" 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-3908', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3909" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3884', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3885" 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-3909', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'parent'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3720"></a><tt class="py-lineno">3720</tt>  <tt class="py-line">        <tt id="link-3910" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3885', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'parent'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3711"></a><tt class="py-lineno">3711</tt>  <tt class="py-line">        <tt id="link-3886" 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-3910', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3911" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3911', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3912" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3912', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3721"></a><tt class="py-lineno">3721</tt>  <tt class="py-line"> </tt>
-<a name="L3722"></a><tt class="py-lineno">3722</tt>  <tt class="py-line">        <tt 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-3913" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3913', 'root', 'link-215');">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="L3723"></a><tt class="py-lineno">3723</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3914" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3914', 'root', 'link-215');">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-3915" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3886', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3887" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3887', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3888" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3888', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3712"></a><tt class="py-lineno">3712</tt>  <tt class="py-line"> </tt>
+<a name="L3713"></a><tt class="py-lineno">3713</tt>  <tt class="py-line">        <tt 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-3889" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3889', 'root', 'link-215');">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="L3714"></a><tt class="py-lineno">3714</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3890" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3890', 'root', 'link-215');">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-3891" 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-3915', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3724"></a><tt class="py-lineno">3724</tt>  <tt class="py-line"> </tt>
-<a name="L3725"></a><tt class="py-lineno">3725</tt>  <tt class="py-line">        <tt class="py-comment"># in PyPy, GC used to kill the Python proxy instance without cleanup</tt> </tt>
-<a name="L3726"></a><tt class="py-lineno">3726</tt>  <tt class="py-line">        <tt class="py-name">gc</tt><tt class="py-op">.</tt><tt class="py-name">collect</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3727"></a><tt class="py-lineno">3727</tt>  <tt class="py-line">        <tt 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-3916" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3916', 'root', 'link-215');">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="L3728"></a><tt class="py-lineno">3728</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3917" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3917', 'root', 'link-215');">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-3918" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3891', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3715"></a><tt class="py-lineno">3715</tt>  <tt class="py-line"> </tt>
+<a name="L3716"></a><tt class="py-lineno">3716</tt>  <tt class="py-line">        <tt class="py-comment"># in PyPy, GC used to kill the Python proxy instance without cleanup</tt> </tt>
+<a name="L3717"></a><tt class="py-lineno">3717</tt>  <tt class="py-line">        <tt class="py-name">gc</tt><tt class="py-op">.</tt><tt class="py-name">collect</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3718"></a><tt class="py-lineno">3718</tt>  <tt class="py-line">        <tt 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-3892" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3892', 'root', 'link-215');">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="L3719"></a><tt class="py-lineno">3719</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-3893" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3893', 'root', 'link-215');">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-3894" 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-3918', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3729"></a><tt class="py-lineno">3729</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_element_refcycle"></a><div id="ETreeOnlyTestCase.test_element_refcycle-def"><a name="L3730"></a><tt class="py-lineno">3730</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_element_refcycle-toggle" onclick="return toggle('ETreeOnlyTestCase.test_element_refcycle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_refcycle">test_element_refcycle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_element_refcycle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_element_refcycle-expanded"><a name="L3731"></a><tt class="py-lineno">3731</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">SubEl</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">ElementBase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L3732"></a><tt class="py-lineno">3732</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
-</div><a name="L3733"></a><tt class="py-lineno">3733</tt>  <tt class="py-line"> </tt>
-<a name="L3734"></a><tt class="py-lineno">3734</tt>  <tt class="py-line">        <tt class="py-name">el1</tt> <tt class="py-op">=</tt> <tt class="py-name">SubEl</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3735"></a><tt class="py-lineno">3735</tt>  <tt class="py-line">        <tt class="py-name">el2</tt> <tt class="py-op">=</tt> <tt class="py-name">SubEl</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3736"></a><tt class="py-lineno">3736</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'SubEl'</tt><tt class="py-op">,</tt> <tt class="py-name">el1</tt><tt class="py-op">.</tt><tt id="link-3919" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3894', 'tag', 'link-68');">tag</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3720"></a><tt class="py-lineno">3720</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_element_refcycle"></a><div id="ETreeOnlyTestCase.test_element_refcycle-def"><a name="L3721"></a><tt class="py-lineno">3721</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_element_refcycle-toggle" onclick="return toggle('ETreeOnlyTestCase.test_element_refcycle');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_element_refcycle">test_element_refcycle</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_element_refcycle-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_element_refcycle-expanded"><a name="L3722"></a><tt class="py-lineno">3722</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">SubEl</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">ElementBase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3723"></a><tt class="py-lineno">3723</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+</div><a name="L3724"></a><tt class="py-lineno">3724</tt>  <tt class="py-line"> </tt>
+<a name="L3725"></a><tt class="py-lineno">3725</tt>  <tt class="py-line">        <tt class="py-name">el1</tt> <tt class="py-op">=</tt> <tt class="py-name">SubEl</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3726"></a><tt class="py-lineno">3726</tt>  <tt class="py-line">        <tt class="py-name">el2</tt> <tt class="py-op">=</tt> <tt class="py-name">SubEl</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3727"></a><tt class="py-lineno">3727</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'SubEl'</tt><tt class="py-op">,</tt> <tt class="py-name">el1</tt><tt class="py-op">.</tt><tt id="link-3895" 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-3919', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3737"></a><tt class="py-lineno">3737</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'SubEl'</tt><tt class="py-op">,</tt> <tt class="py-name">el2</tt><tt class="py-op">.</tt><tt id="link-3920" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3895', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3728"></a><tt class="py-lineno">3728</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'SubEl'</tt><tt class="py-op">,</tt> <tt class="py-name">el2</tt><tt class="py-op">.</tt><tt id="link-3896" 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-3920', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3738"></a><tt class="py-lineno">3738</tt>  <tt class="py-line">        <tt class="py-name">el1</tt><tt class="py-op">.</tt><tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">el2</tt> </tt>
-<a name="L3739"></a><tt class="py-lineno">3739</tt>  <tt class="py-line">        <tt class="py-name">el2</tt><tt class="py-op">.</tt><tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">el1</tt> </tt>
-<a name="L3740"></a><tt class="py-lineno">3740</tt>  <tt class="py-line"> </tt>
-<a name="L3741"></a><tt class="py-lineno">3741</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">el1</tt><tt class="py-op">,</tt> <tt class="py-name">el2</tt> </tt>
-<a name="L3742"></a><tt class="py-lineno">3742</tt>  <tt class="py-line">        <tt class="py-name">gc</tt><tt class="py-op">.</tt><tt class="py-name">collect</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3743"></a><tt class="py-lineno">3743</tt>  <tt class="py-line">        <tt class="py-comment"># not really testing anything here, but it shouldn't crash</tt> </tt>
-<a name="L3744"></a><tt class="py-lineno">3744</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_proxy_collect_siblings"></a><div id="ETreeOnlyTestCase.test_proxy_collect_siblings-def"><a name="L3745"></a><tt class="py-lineno">3745</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_proxy_collect_siblings-toggle" onclick="return toggle('ETreeOnlyTestCase.test_proxy_collect_siblings');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings">test_proxy_collect_siblings</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase.test_proxy_collect_siblings-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_proxy_collect_siblings-expanded"><a name="L3746"></a><tt class="py-lineno">3746</tt>  <tt class="py-line">        <tt id="link-3921" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3921', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3922" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3896', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3729"></a><tt class="py-lineno">3729</tt>  <tt class="py-line">        <tt class="py-name">el1</tt><tt class="py-op">.</tt><tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">el2</tt> </tt>
+<a name="L3730"></a><tt class="py-lineno">3730</tt>  <tt class="py-line">        <tt class="py-name">el2</tt><tt class="py-op">.</tt><tt class="py-name">other</tt> <tt class="py-op">=</tt> <tt class="py-name">el1</tt> </tt>
+<a name="L3731"></a><tt class="py-lineno">3731</tt>  <tt class="py-line"> </tt>
+<a name="L3732"></a><tt class="py-lineno">3732</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">el1</tt><tt class="py-op">,</tt> <tt class="py-name">el2</tt> </tt>
+<a name="L3733"></a><tt class="py-lineno">3733</tt>  <tt class="py-line">        <tt class="py-name">gc</tt><tt class="py-op">.</tt><tt class="py-name">collect</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3734"></a><tt class="py-lineno">3734</tt>  <tt class="py-line">        <tt class="py-comment"># not really testing anything here, but it shouldn't crash</tt> </tt>
+<a name="L3735"></a><tt class="py-lineno">3735</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_proxy_collect_siblings"></a><div id="ETreeOnlyTestCase.test_proxy_collect_siblings-def"><a name="L3736"></a><tt class="py-lineno">3736</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_proxy_collect_siblings-toggle" onclick="return toggle('ETreeOnlyTestCase.test_proxy_collect_siblings');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings">test_proxy_collect_siblings</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase.test_proxy_collect_siblings-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_proxy_collect_siblings-expanded"><a name="L3737"></a><tt class="py-lineno">3737</tt>  <tt class="py-line">        <tt id="link-3897" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3897', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3898" 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-3922', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3923" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3898', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3899" 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-3923', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'parent'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3747"></a><tt class="py-lineno">3747</tt>  <tt class="py-line">        <tt class="py-name">c1</tt> <tt class="py-op">=</tt> <tt id="link-3924" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3899', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'parent'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3738"></a><tt class="py-lineno">3738</tt>  <tt class="py-line">        <tt class="py-name">c1</tt> <tt class="py-op">=</tt> <tt id="link-3900" 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-3924', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3925" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3925', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3926" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3926', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child1'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3748"></a><tt class="py-lineno">3748</tt>  <tt class="py-line">        <tt class="py-name">c2</tt> <tt class="py-op">=</tt> <tt id="link-3927" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3900', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3901" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3901', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3902" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3902', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child1'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3739"></a><tt class="py-lineno">3739</tt>  <tt class="py-line">        <tt class="py-name">c2</tt> <tt class="py-op">=</tt> <tt id="link-3903" 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-3927', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3928" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3928', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3929" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3929', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3749"></a><tt class="py-lineno">3749</tt>  <tt class="py-line"> </tt>
-<a name="L3750"></a><tt class="py-lineno">3750</tt>  <tt class="py-line">        <tt id="link-3930" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3930', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3931" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3903', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3904" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3904', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3905" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3905', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3740"></a><tt class="py-lineno">3740</tt>  <tt class="py-line"> </tt>
+<a name="L3741"></a><tt class="py-lineno">3741</tt>  <tt class="py-line">        <tt id="link-3906" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3906', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3907" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3931', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c1</tt><tt class="py-op">)</tt> </tt>
-<a name="L3751"></a><tt class="py-lineno">3751</tt>  <tt class="py-line">        <tt id="link-3932" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3932', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3933" class="py-name"><a title="lxml.etree._Element.remove
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3907', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c1</tt><tt class="py-op">)</tt> </tt>
+<a name="L3742"></a><tt class="py-lineno">3742</tt>  <tt class="py-line">        <tt id="link-3908" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3908', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3909" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3933', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
-<a name="L3752"></a><tt class="py-lineno">3752</tt>  <tt class="py-line">        <tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-3934" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-3934', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
-<a name="L3753"></a><tt class="py-lineno">3753</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">c1</tt> </tt>
-<a name="L3754"></a><tt class="py-lineno">3754</tt>  <tt class="py-line">        <tt class="py-comment"># trigger deallocation attempt of c1</tt> </tt>
-<a name="L3755"></a><tt class="py-lineno">3755</tt>  <tt class="py-line">        <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3935" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3935', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3756"></a><tt class="py-lineno">3756</tt>  <tt class="py-line">        <tt class="py-comment"># make sure it wasn't deallocated</tt> </tt>
-<a name="L3757"></a><tt class="py-lineno">3757</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'child1'</tt><tt class="py-op">,</tt> <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3936" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3936', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3937" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3909', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
+<a name="L3743"></a><tt class="py-lineno">3743</tt>  <tt class="py-line">        <tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-3910" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-3910', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
+<a name="L3744"></a><tt class="py-lineno">3744</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">c1</tt> </tt>
+<a name="L3745"></a><tt class="py-lineno">3745</tt>  <tt class="py-line">        <tt class="py-comment"># trigger deallocation attempt of c1</tt> </tt>
+<a name="L3746"></a><tt class="py-lineno">3746</tt>  <tt class="py-line">        <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3911" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3911', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3747"></a><tt class="py-lineno">3747</tt>  <tt class="py-line">        <tt class="py-comment"># make sure it wasn't deallocated</tt> </tt>
+<a name="L3748"></a><tt class="py-lineno">3748</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'child1'</tt><tt class="py-op">,</tt> <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3912" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3912', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3913" 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-3937', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3758"></a><tt class="py-lineno">3758</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase.test_proxy_collect_siblings_text"></a><div id="ETreeOnlyTestCase.test_proxy_collect_siblings_text-def"><a name="L3759"></a><tt class="py-lineno">3759</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_proxy_collect_siblings_text-toggle" onclick="return toggle('ETreeOnlyTestCase.test_proxy_collect_siblings_text');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings_text">test_proxy_collect_siblings_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="ETreeOnlyTestCase.test_proxy_collect_siblings_text-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_proxy_collect_siblings_text-expanded"><a name="L3760"></a><tt class="py-lineno">3760</tt>  <tt class="py-line">        <tt id="link-3938" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3938', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3939" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3913', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3749"></a><tt class="py-lineno">3749</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase.test_proxy_collect_siblings_text"></a><div id="ETreeOnlyTestCase.test_proxy_collect_siblings_text-def"><a name="L3750"></a><tt class="py-lineno">3750</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase.test_proxy_collect_siblings_text-toggle" onclick="return toggle('ETreeOnlyTestCase.test_proxy_collect_siblings_text');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#test_proxy_collect_siblings_text">test_proxy_collect_siblings_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="ETreeOnlyTestCase.test_proxy_collect_siblings_text-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase.test_proxy_collect_siblings_text-expanded"><a name="L3751"></a><tt class="py-lineno">3751</tt>  <tt class="py-line">        <tt id="link-3914" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3914', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3915" 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-3939', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3940" class="py-name"><a title="lxml.etree.Element
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3915', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3916" 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-3940', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'parent'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3761"></a><tt class="py-lineno">3761</tt>  <tt class="py-line">        <tt class="py-name">c1</tt> <tt class="py-op">=</tt> <tt id="link-3941" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element" class="py-name" href="#" onclick="return doclink('link-3916', 'Element', 'link-64');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'parent'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3752"></a><tt class="py-lineno">3752</tt>  <tt class="py-line">        <tt class="py-name">c1</tt> <tt class="py-op">=</tt> <tt id="link-3917" 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-3941', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3942" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3942', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3943" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3943', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child1'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3762"></a><tt class="py-lineno">3762</tt>  <tt class="py-line">        <tt class="py-name">c2</tt> <tt class="py-op">=</tt> <tt id="link-3944" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3917', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3918" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3918', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3919" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3919', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child1'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3753"></a><tt class="py-lineno">3753</tt>  <tt class="py-line">        <tt class="py-name">c2</tt> <tt class="py-op">=</tt> <tt id="link-3920" 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-3944', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3945" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3945', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3946" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3946', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3763"></a><tt class="py-lineno">3763</tt>  <tt class="py-line"> </tt>
-<a name="L3764"></a><tt class="py-lineno">3764</tt>  <tt class="py-line">        <tt id="link-3947" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3947', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3948" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3920', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3921" class="py-name"><a title="lxml.etree.SubElement" class="py-name" href="#" onclick="return doclink('link-3921', 'SubElement', 'link-107');">SubElement</a></tt><tt class="py-op">(</tt><tt id="link-3922" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3922', 'root', 'link-215');">root</a></tt><tt class="py-op">,</tt> <tt class="py-string">'child2'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3754"></a><tt class="py-lineno">3754</tt>  <tt class="py-line"> </tt>
+<a name="L3755"></a><tt class="py-lineno">3755</tt>  <tt class="py-line">        <tt id="link-3923" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3923', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3924" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3948', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c1</tt><tt class="py-op">)</tt> </tt>
-<a name="L3765"></a><tt class="py-lineno">3765</tt>  <tt class="py-line">        <tt id="link-3949" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3949', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3950" class="py-name"><a title="lxml.etree._Element.remove
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3924', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c1</tt><tt class="py-op">)</tt> </tt>
+<a name="L3756"></a><tt class="py-lineno">3756</tt>  <tt class="py-line">        <tt id="link-3925" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3925', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3926" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3950', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
-<a name="L3766"></a><tt class="py-lineno">3766</tt>  <tt class="py-line">        <tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-3951" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-3951', 'addnext', 'link-1712');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
-<a name="L3767"></a><tt class="py-lineno">3767</tt>  <tt class="py-line">        <tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-3952" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3952', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'abc'</tt> </tt>
-<a name="L3768"></a><tt class="py-lineno">3768</tt>  <tt class="py-line">        <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3953" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3953', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'xyz'</tt> </tt>
-<a name="L3769"></a><tt class="py-lineno">3769</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">c1</tt> </tt>
-<a name="L3770"></a><tt class="py-lineno">3770</tt>  <tt class="py-line">        <tt class="py-comment"># trigger deallocation attempt of c1</tt> </tt>
-<a name="L3771"></a><tt class="py-lineno">3771</tt>  <tt class="py-line">        <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3954" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3954', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3772"></a><tt class="py-lineno">3772</tt>  <tt class="py-line">        <tt class="py-comment"># make sure it wasn't deallocated</tt> </tt>
-<a name="L3773"></a><tt class="py-lineno">3773</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'child1'</tt><tt class="py-op">,</tt> <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3955" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3955', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3956" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-3926', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
+<a name="L3757"></a><tt class="py-lineno">3757</tt>  <tt class="py-line">        <tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-3927" class="py-name"><a title="lxml.etree._Element.addnext" class="py-name" href="#" onclick="return doclink('link-3927', 'addnext', 'link-1714');">addnext</a></tt><tt class="py-op">(</tt><tt class="py-name">c2</tt><tt class="py-op">)</tt> </tt>
+<a name="L3758"></a><tt class="py-lineno">3758</tt>  <tt class="py-line">        <tt class="py-name">c1</tt><tt class="py-op">.</tt><tt id="link-3928" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3928', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'abc'</tt> </tt>
+<a name="L3759"></a><tt class="py-lineno">3759</tt>  <tt class="py-line">        <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3929" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3929', 'tail', 'link-918');">tail</a></tt> <tt class="py-op">=</tt> <tt class="py-string">'xyz'</tt> </tt>
+<a name="L3760"></a><tt class="py-lineno">3760</tt>  <tt class="py-line">        <tt class="py-keyword">del</tt> <tt class="py-name">c1</tt> </tt>
+<a name="L3761"></a><tt class="py-lineno">3761</tt>  <tt class="py-line">        <tt class="py-comment"># trigger deallocation attempt of c1</tt> </tt>
+<a name="L3762"></a><tt class="py-lineno">3762</tt>  <tt class="py-line">        <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3930" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3930', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3763"></a><tt class="py-lineno">3763</tt>  <tt class="py-line">        <tt class="py-comment"># make sure it wasn't deallocated</tt> </tt>
+<a name="L3764"></a><tt class="py-lineno">3764</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'child1'</tt><tt class="py-op">,</tt> <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3931" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3931', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3932" 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-3956', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3774"></a><tt class="py-lineno">3774</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'abc'</tt><tt class="py-op">,</tt> <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3957" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3957', 'getprevious', 'link-2403');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3958" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3958', 'tail', 'link-918');">tail</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3775"></a><tt class="py-lineno">3775</tt>  <tt class="py-line"> </tt>
-<a name="L3776"></a><tt class="py-lineno">3776</tt>  <tt class="py-line">    <tt class="py-comment"># helper methods</tt> </tt>
-<a name="L3777"></a><tt class="py-lineno">3777</tt>  <tt class="py-line"> </tt>
-<a name="ETreeOnlyTestCase._writeElement"></a><div id="ETreeOnlyTestCase._writeElement-def"><a name="L3778"></a><tt class="py-lineno">3778</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase._writeElement-toggle" onclick="return toggle('ETreeOnlyTestCase._writeElement');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_writeElement">_writeElement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">element</tt><tt class="py-op">,</tt> <tt class="py-param">encoding</tt><tt class="py-op">=</tt><tt class="py-string">'us-ascii'</tt><tt class="py-op">,</tt> <tt class="py-param">compression</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeOnlyTestCase._writeElement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase._writeElement-expanded"><a name="L3779"></a><tt class="py-lineno">3779</tt>  <tt class="py-line">        <tt class="py-docstring">"""Write out element for comparison.</tt> </tt>
-<a name="L3780"></a><tt class="py-lineno">3780</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L3781"></a><tt class="py-lineno">3781</tt>  <tt class="py-line">        <tt id="link-3959" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3932', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3765"></a><tt class="py-lineno">3765</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'abc'</tt><tt class="py-op">,</tt> <tt class="py-name">c2</tt><tt class="py-op">.</tt><tt id="link-3933" class="py-name"><a title="lxml.etree._Element.getprevious" class="py-name" href="#" onclick="return doclink('link-3933', 'getprevious', 'link-2405');">getprevious</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-3934" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3934', 'tail', 'link-918');">tail</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3766"></a><tt class="py-lineno">3766</tt>  <tt class="py-line"> </tt>
+<a name="L3767"></a><tt class="py-lineno">3767</tt>  <tt class="py-line">    <tt class="py-comment"># helper methods</tt> </tt>
+<a name="L3768"></a><tt class="py-lineno">3768</tt>  <tt class="py-line"> </tt>
+<a name="ETreeOnlyTestCase._writeElement"></a><div id="ETreeOnlyTestCase._writeElement-def"><a name="L3769"></a><tt class="py-lineno">3769</tt> <a class="py-toggle" href="#" id="ETreeOnlyTestCase._writeElement-toggle" onclick="return toggle('ETreeOnlyTestCase._writeElement');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeOnlyTestCase-class.html#_writeElement">_writeElement</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">element</tt><tt class="py-op">,</tt> <tt class="py-param">encoding</tt><tt class="py-op">=</tt><tt class="py-string">'us-ascii'</tt><tt class="py-op">,</tt> <tt class="py-param">compression</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeOnlyTestCase._writeElement-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeOnlyTestCase._writeElement-expanded"><a name="L3770"></a><tt class="py-lineno">3770</tt>  <tt class="py-line">        <tt class="py-docstring">"""Write out element for comparison.</tt> </tt>
+<a name="L3771"></a><tt class="py-lineno">3771</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L3772"></a><tt class="py-lineno">3772</tt>  <tt class="py-line">        <tt id="link-3935" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3959', 'ElementTree', 'link-520');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3960" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3935', 'ElementTree', 'link-531');">ElementTree</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3936" 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-3960', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3961" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3936', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3937" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3961', 'ElementTree', 'link-520');">ElementTree</a></tt> </tt>
-<a name="L3782"></a><tt class="py-lineno">3782</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="L3783"></a><tt class="py-lineno">3783</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3962" class="py-name"><a title="lxml.etree.ElementTree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3937', 'ElementTree', 'link-531');">ElementTree</a></tt> </tt>
+<a name="L3773"></a><tt class="py-lineno">3773</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="L3774"></a><tt class="py-lineno">3774</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3938" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3962', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">=</tt><tt class="py-name">element</tt><tt class="py-op">)</tt> </tt>
-<a name="L3784"></a><tt class="py-lineno">3784</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3963" 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-3963', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-3964" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3964', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt id="link-3965" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3965', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-name">compression</tt><tt class="py-op">)</tt> </tt>
-<a name="L3785"></a><tt class="py-lineno">3785</tt>  <tt class="py-line">        <tt id="link-3966" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3966', 'data', 'link-1089');">data</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>
-<a name="L3786"></a><tt class="py-lineno">3786</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">compression</tt><tt class="py-op">:</tt> </tt>
-<a name="L3787"></a><tt class="py-lineno">3787</tt>  <tt class="py-line">            <tt id="link-3967" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3967', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">zlib</tt><tt class="py-op">.</tt><tt class="py-name">decompress</tt><tt class="py-op">(</tt><tt id="link-3968" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3968', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3788"></a><tt class="py-lineno">3788</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-3969" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3969', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3970" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3970', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L3789"></a><tt class="py-lineno">3789</tt>  <tt class="py-line"> </tt>
-<a name="L3790"></a><tt class="py-lineno">3790</tt>  <tt class="py-line"> </tt>
-<a name="_XIncludeTestCase"></a><div id="_XIncludeTestCase-def"><a name="L3791"></a><tt class="py-lineno">3791</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase-toggle" onclick="return toggle('_XIncludeTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html">_XIncludeTestCase</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="_XIncludeTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_XIncludeTestCase-expanded"><a name="_XIncludeTestCase.test_xinclude_text"></a><div id="_XIncludeTestCase.test_xinclude_text-def"><a name="L3792"></a><tt class="py-lineno">3792</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude_text-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude_text');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_text">test_xinclude_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="_XIncludeTestCase.test_xinclude_text-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude_text-expanded"><a name="L3793"></a><tt class="py-lineno">3793</tt>  <tt class="py-line">        <tt id="link-3971" class="py-name" targets="Variable lxml.etree._LogEntry.filename=lxml.etree._LogEntry-class.html#filename"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3971', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt id="link-3972" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3972', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test_broken.xml'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3794"></a><tt class="py-lineno">3794</tt>  <tt class="py-line">        <tt id="link-3973" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3973', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3974" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3938', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt class="py-name">element</tt><tt class="py-op">=</tt><tt class="py-name">element</tt><tt class="py-op">)</tt> </tt>
+<a name="L3775"></a><tt class="py-lineno">3775</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3939" 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-3939', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt id="link-3940" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3940', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">=</tt><tt id="link-3941" class="py-name"><a title="lxml.etree.DocInfo.encoding" class="py-name" href="#" onclick="return doclink('link-3941', 'encoding', 'link-978');">encoding</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-name">compression</tt><tt class="py-op">)</tt> </tt>
+<a name="L3776"></a><tt class="py-lineno">3776</tt>  <tt class="py-line">        <tt id="link-3942" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3942', 'data', 'link-1089');">data</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>
+<a name="L3777"></a><tt class="py-lineno">3777</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">compression</tt><tt class="py-op">:</tt> </tt>
+<a name="L3778"></a><tt class="py-lineno">3778</tt>  <tt class="py-line">            <tt id="link-3943" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3943', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">zlib</tt><tt class="py-op">.</tt><tt class="py-name">decompress</tt><tt class="py-op">(</tt><tt id="link-3944" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3944', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3779"></a><tt class="py-lineno">3779</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt id="link-3945" class="py-name"><a title="lxml.tests.common_imports.canonicalize" class="py-name" href="#" onclick="return doclink('link-3945', 'canonicalize', 'link-22');">canonicalize</a></tt><tt class="py-op">(</tt><tt id="link-3946" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3946', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3780"></a><tt class="py-lineno">3780</tt>  <tt class="py-line"> </tt>
+<a name="L3781"></a><tt class="py-lineno">3781</tt>  <tt class="py-line"> </tt>
+<a name="_XIncludeTestCase"></a><div id="_XIncludeTestCase-def"><a name="L3782"></a><tt class="py-lineno">3782</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase-toggle" onclick="return toggle('_XIncludeTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html">_XIncludeTestCase</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="_XIncludeTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="_XIncludeTestCase-expanded"><a name="_XIncludeTestCase.test_xinclude_text"></a><div id="_XIncludeTestCase.test_xinclude_text-def"><a name="L3783"></a><tt class="py-lineno">3783</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude_text-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude_text');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_text">test_xinclude_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="_XIncludeTestCase.test_xinclude_text-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude_text-expanded"><a name="L3784"></a><tt class="py-lineno">3784</tt>  <tt class="py-line">        <tt id="link-3947" class="py-name" targets="Variable lxml.etree._LogEntry.filename=lxml.etree._LogEntry-class.html#filename"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3947', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt id="link-3948" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3948', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test_broken.xml'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3785"></a><tt class="py-lineno">3785</tt>  <tt class="py-line">        <tt id="link-3949" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3949', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-3950" 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-3974', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3975" class="py-name"><a title="lxml.etree.XML
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3950', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3951" 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-3975', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3976" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3976', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
-<a name="L3795"></a><tt class="py-lineno">3795</tt>  <tt class="py-line"><tt class="py-string">        &lt;doc xmlns:xi="http://www.w3.org/2001/XInclude"&gt;</tt> </tt>
-<a name="L3796"></a><tt class="py-lineno">3796</tt>  <tt class="py-line"><tt class="py-string">          &lt;xi:include href="%s" parse="text"/&gt;</tt> </tt>
-<a name="L3797"></a><tt class="py-lineno">3797</tt>  <tt class="py-line"><tt class="py-string">        &lt;/doc&gt;</tt> </tt>
-<a name="L3798"></a><tt class="py-lineno">3798</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> <tt class="py-op">%</tt> <tt id="link-3977" class="py-name"><a title="lxml.tests.common_imports.path2url" class="py-name" href="#" onclick="return doclink('link-3977', 'path2url', 'link-16');">path2url</a></tt><tt class="py-op">(</tt><tt id="link-3978" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3978', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3799"></a><tt class="py-lineno">3799</tt>  <tt class="py-line">        <tt class="py-name">old_text</tt> <tt class="py-op">=</tt> <tt id="link-3979" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3979', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3980" class="py-name"><a title="lxml.etree.QName.text
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#" onclick="return doclink('link-3951', 'XML', 'link-212');">XML</a></tt><tt class="py-op">(</tt><tt id="link-3952" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-3952', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'''\</tt> </tt>
+<a name="L3786"></a><tt class="py-lineno">3786</tt>  <tt class="py-line"><tt class="py-string">        &lt;doc xmlns:xi="http://www.w3.org/2001/XInclude"&gt;</tt> </tt>
+<a name="L3787"></a><tt class="py-lineno">3787</tt>  <tt class="py-line"><tt class="py-string">          &lt;xi:include href="%s" parse="text"/&gt;</tt> </tt>
+<a name="L3788"></a><tt class="py-lineno">3788</tt>  <tt class="py-line"><tt class="py-string">        &lt;/doc&gt;</tt> </tt>
+<a name="L3789"></a><tt class="py-lineno">3789</tt>  <tt class="py-line"><tt class="py-string">        '''</tt> <tt class="py-op">%</tt> <tt id="link-3953" class="py-name"><a title="lxml.tests.common_imports.path2url" class="py-name" href="#" onclick="return doclink('link-3953', 'path2url', 'link-16');">path2url</a></tt><tt class="py-op">(</tt><tt id="link-3954" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3954', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3790"></a><tt class="py-lineno">3790</tt>  <tt class="py-line">        <tt class="py-name">old_text</tt> <tt class="py-op">=</tt> <tt id="link-3955" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3955', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3956" 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-3980', 'text', 'link-189');">text</a></tt> </tt>
-<a name="L3800"></a><tt class="py-lineno">3800</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-3981" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-3981', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-3982" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3982', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3801"></a><tt class="py-lineno">3801</tt>  <tt class="py-line">        <tt class="py-name">old_tail</tt> <tt class="py-op">=</tt> <tt id="link-3983" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3983', 'root', 'link-215');">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-3984" class="py-name"><a title="lxml.etree._Element.tail
-xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3984', 'tail', 'link-918');">tail</a></tt> </tt>
-<a name="L3802"></a><tt class="py-lineno">3802</tt>  <tt class="py-line"> </tt>
-<a name="L3803"></a><tt class="py-lineno">3803</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3985" class="py-name" targets="Function lxml.ElementInclude.include()=lxml.ElementInclude-module.html#include,Method lxml.tests.test_etree.ETreeXIncludeTestCase.include()=lxml.tests.test_etree.ETreeXIncludeTestCase-class.html#include,Method lxml.tests.test_etree.ElementIncludeTestCase.include()=lxml.tests.test_etree.ElementIncludeTestCase-class.html#include"><a title="lxml.ElementInclude.include
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3956', 'text', 'link-189');">text</a></tt> </tt>
+<a name="L3791"></a><tt class="py-lineno">3791</tt>  <tt class="py-line">        <tt class="py-name">content</tt> <tt class="py-op">=</tt> <tt id="link-3957" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-3957', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-3958" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3958', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3792"></a><tt class="py-lineno">3792</tt>  <tt class="py-line">        <tt class="py-name">old_tail</tt> <tt class="py-op">=</tt> <tt id="link-3959" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3959', 'root', 'link-215');">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-3960" class="py-name"><a title="lxml.etree._Element.tail
+xml.etree.ElementTree.Element.tail" class="py-name" href="#" onclick="return doclink('link-3960', 'tail', 'link-918');">tail</a></tt> </tt>
+<a name="L3793"></a><tt class="py-lineno">3793</tt>  <tt class="py-line"> </tt>
+<a name="L3794"></a><tt class="py-lineno">3794</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3961" class="py-name" targets="Function lxml.ElementInclude.include()=lxml.ElementInclude-module.html#include,Method lxml.tests.test_etree.ETreeXIncludeTestCase.include()=lxml.tests.test_etree.ETreeXIncludeTestCase-class.html#include,Method lxml.tests.test_etree.ElementIncludeTestCase.include()=lxml.tests.test_etree.ElementIncludeTestCase-class.html#include"><a title="lxml.ElementInclude.include
 lxml.tests.test_etree.ETreeXIncludeTestCase.include
-lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-3985', 'include', 'link-3985');">include</a></tt><tt class="py-op">(</tt> <tt id="link-3986" class="py-name"><a title="lxml.etree
+lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-3961', 'include', 'link-3961');">include</a></tt><tt class="py-op">(</tt> <tt id="link-3962" 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-3986', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3987" class="py-name"><a title="lxml.etree.ElementTree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3962', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3963" class="py-name"><a title="lxml.etree.ElementTree
 xml.etree.ElementTree
-xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3987', 'ElementTree', 'link-520');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3988" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3988', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
-<a name="L3804"></a><tt class="py-lineno">3804</tt>  <tt class="py-line">        <tt 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">old_text</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-name">old_tail</tt><tt class="py-op">,</tt> </tt>
-<a name="L3805"></a><tt class="py-lineno">3805</tt>  <tt class="py-line">                          <tt id="link-3989" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3989', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3990" class="py-name"><a title="lxml.etree.QName.text
+xml.etree.ElementTree.ElementTree" class="py-name" href="#" onclick="return doclink('link-3963', 'ElementTree', 'link-531');">ElementTree</a></tt><tt class="py-op">(</tt><tt id="link-3964" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3964', 'root', 'link-215');">root</a></tt><tt class="py-op">)</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3795"></a><tt class="py-lineno">3795</tt>  <tt class="py-line">        <tt 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">old_text</tt> <tt class="py-op">+</tt> <tt class="py-name">content</tt> <tt class="py-op">+</tt> <tt class="py-name">old_tail</tt><tt class="py-op">,</tt> </tt>
+<a name="L3796"></a><tt class="py-lineno">3796</tt>  <tt class="py-line">                          <tt id="link-3965" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-3965', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-3966" 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-3990', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3806"></a><tt class="py-lineno">3806</tt>  <tt class="py-line"> </tt>
-<a name="_XIncludeTestCase.test_xinclude"></a><div id="_XIncludeTestCase.test_xinclude-def"><a name="L3807"></a><tt class="py-lineno">3807</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude">test_xinclude</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_XIncludeTestCase.test_xinclude-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude-expanded"><a name="L3808"></a><tt class="py-lineno">3808</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3991" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.Element.text" class="py-name" href="#" onclick="return doclink('link-3966', 'text', 'link-189');">text</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3797"></a><tt class="py-lineno">3797</tt>  <tt class="py-line"> </tt>
+<a name="_XIncludeTestCase.test_xinclude"></a><div id="_XIncludeTestCase.test_xinclude-def"><a name="L3798"></a><tt class="py-lineno">3798</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude">test_xinclude</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_XIncludeTestCase.test_xinclude-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude-expanded"><a name="L3799"></a><tt class="py-lineno">3799</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3967" 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-3991', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3992" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3967', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3968" 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-3992', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3993" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3993', 'fileInTestDir', 'link-13');">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="L3809"></a><tt class="py-lineno">3809</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="L3810"></a><tt class="py-lineno">3810</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L3811"></a><tt class="py-lineno">3811</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3994" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-3994', 'getroot', 'link-752');">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 id="link-3995" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3968', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3969" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3969', 'fileInTestDir', 'link-13');">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="L3800"></a><tt class="py-lineno">3800</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="L3801"></a><tt class="py-lineno">3801</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L3802"></a><tt class="py-lineno">3802</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3970" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-3970', 'getroot', 'link-763');">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 id="link-3971" 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-3995', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3812"></a><tt class="py-lineno">3812</tt>  <tt class="py-line">        <tt class="py-comment"># process xincludes</tt> </tt>
-<a name="L3813"></a><tt class="py-lineno">3813</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3996" class="py-name"><a title="lxml.ElementInclude.include
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3971', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3803"></a><tt class="py-lineno">3803</tt>  <tt class="py-line">        <tt class="py-comment"># process xincludes</tt> </tt>
+<a name="L3804"></a><tt class="py-lineno">3804</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3972" class="py-name"><a title="lxml.ElementInclude.include
 lxml.tests.test_etree.ETreeXIncludeTestCase.include
-lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-3996', 'include', 'link-3985');">include</a></tt><tt class="py-op">(</tt> <tt class="py-name">tree</tt> <tt class="py-op">)</tt> </tt>
-<a name="L3814"></a><tt class="py-lineno">3814</tt>  <tt class="py-line">        <tt class="py-comment"># check whether we find it replaced with included data</tt> </tt>
-<a name="L3815"></a><tt class="py-lineno">3815</tt>  <tt class="py-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="L3816"></a><tt class="py-lineno">3816</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L3817"></a><tt class="py-lineno">3817</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3997" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-3997', 'getroot', 'link-752');">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 id="link-3998" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-3972', 'include', 'link-3961');">include</a></tt><tt class="py-op">(</tt> <tt class="py-name">tree</tt> <tt class="py-op">)</tt> </tt>
+<a name="L3805"></a><tt class="py-lineno">3805</tt>  <tt class="py-line">        <tt class="py-comment"># check whether we find it replaced with included data</tt> </tt>
+<a name="L3806"></a><tt class="py-lineno">3806</tt>  <tt class="py-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="L3807"></a><tt class="py-lineno">3807</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L3808"></a><tt class="py-lineno">3808</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-3973" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-3973', 'getroot', 'link-763');">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 id="link-3974" 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-3998', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3818"></a><tt class="py-lineno">3818</tt>  <tt class="py-line"> </tt>
-<a name="_XIncludeTestCase.test_xinclude_resolver"></a><div id="_XIncludeTestCase.test_xinclude_resolver-def"><a name="L3819"></a><tt class="py-lineno">3819</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude_resolver-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude_resolver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_resolver">test_xinclude_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="_XIncludeTestCase.test_xinclude_resolver-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude_resolver-expanded"><a name="L3820"></a><tt class="py-lineno">3820</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">res</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="L3821"></a><tt class="py-lineno">3821</tt>  <tt class="py-line">            <tt class="py-name">include_text</tt> <tt class="py-op">=</tt> <tt id="link-3999" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-3999', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-4000" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-4000', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.xml'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3822"></a><tt class="py-lineno">3822</tt>  <tt class="py-line">            <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L3823"></a><tt class="py-lineno">3823</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="L3824"></a><tt class="py-lineno">3824</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">".dtd"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L3825"></a><tt class="py-lineno">3825</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"dtd"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L3826"></a><tt class="py-lineno">3826</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-4001" class="py-name"><a title="lxml.etree.Resolver.resolve_filename" class="py-name" href="#" onclick="return doclink('link-4001', 'resolve_filename', 'link-1373');">resolve_filename</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3827"></a><tt class="py-lineno">3827</tt>  <tt class="py-line">                        <tt id="link-4002" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-4002', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.dtd'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-<a name="L3828"></a><tt class="py-lineno">3828</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">"test_xinclude.xml"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L3829"></a><tt class="py-lineno">3829</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"input"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L3830"></a><tt class="py-lineno">3830</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> <tt class="py-comment"># delegate to default resolver</tt> </tt>
-<a name="L3831"></a><tt class="py-lineno">3831</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L3832"></a><tt class="py-lineno">3832</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"include"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L3833"></a><tt class="py-lineno">3833</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-4003" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-4003', 'resolve_string', 'link-1309');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">include_text</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L3834"></a><tt class="py-lineno">3834</tt>  <tt class="py-line"> </tt>
-<a name="L3835"></a><tt class="py-lineno">3835</tt>  <tt class="py-line">        <tt class="py-name">res_instance</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="L3836"></a><tt class="py-lineno">3836</tt>  <tt class="py-line">        <tt id="link-4004" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4004', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-4005" 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-4005', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4006" class="py-name"><a title="lxml.etree.XMLParser
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-3974', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3809"></a><tt class="py-lineno">3809</tt>  <tt class="py-line"> </tt>
+<a name="_XIncludeTestCase.test_xinclude_resolver"></a><div id="_XIncludeTestCase.test_xinclude_resolver-def"><a name="L3810"></a><tt class="py-lineno">3810</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude_resolver-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude_resolver');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_resolver">test_xinclude_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="_XIncludeTestCase.test_xinclude_resolver-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude_resolver-expanded"><a name="L3811"></a><tt class="py-lineno">3811</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">res</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="L3812"></a><tt class="py-lineno">3812</tt>  <tt class="py-line">            <tt class="py-name">include_text</tt> <tt class="py-op">=</tt> <tt id="link-3975" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-3975', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-3976" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3976', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.xml'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3813"></a><tt class="py-lineno">3813</tt>  <tt class="py-line">            <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L3814"></a><tt class="py-lineno">3814</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="L3815"></a><tt class="py-lineno">3815</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">".dtd"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3816"></a><tt class="py-lineno">3816</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"dtd"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3817"></a><tt class="py-lineno">3817</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-3977" class="py-name"><a title="lxml.etree.Resolver.resolve_filename" class="py-name" href="#" onclick="return doclink('link-3977', 'resolve_filename', 'link-1373');">resolve_filename</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3818"></a><tt class="py-lineno">3818</tt>  <tt class="py-line">                        <tt id="link-3978" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3978', 'fileInTestDir', 'link-13');">fileInTestDir</a></tt><tt class="py-op">(</tt><tt class="py-string">'test.dtd'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+<a name="L3819"></a><tt class="py-lineno">3819</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">"test_xinclude.xml"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3820"></a><tt class="py-lineno">3820</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"input"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3821"></a><tt class="py-lineno">3821</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt> <tt class="py-comment"># delegate to default resolver</tt> </tt>
+<a name="L3822"></a><tt class="py-lineno">3822</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3823"></a><tt class="py-lineno">3823</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"include"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3824"></a><tt class="py-lineno">3824</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-3979" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-3979', 'resolve_string', 'link-1309');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">include_text</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3825"></a><tt class="py-lineno">3825</tt>  <tt class="py-line"> </tt>
+<a name="L3826"></a><tt class="py-lineno">3826</tt>  <tt class="py-line">        <tt class="py-name">res_instance</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="L3827"></a><tt class="py-lineno">3827</tt>  <tt class="py-line">        <tt id="link-3980" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-3980', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-3981" 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-3981', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3982" 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-4006', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">load_dtd</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3837"></a><tt class="py-lineno">3837</tt>  <tt class="py-line">        <tt id="link-4007" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4007', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4008" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-4008', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-4009" class="py-name"><a title="lxml.html.CheckboxValues.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-4009', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">)</tt> </tt>
-<a name="L3838"></a><tt class="py-lineno">3838</tt>  <tt class="py-line"> </tt>
-<a name="L3839"></a><tt class="py-lineno">3839</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-4010" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-3982', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">load_dtd</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3828"></a><tt class="py-lineno">3828</tt>  <tt class="py-line">        <tt id="link-3983" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-3983', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-3984" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-3984', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-3985" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-3985', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">)</tt> </tt>
+<a name="L3829"></a><tt class="py-lineno">3829</tt>  <tt class="py-line"> </tt>
+<a name="L3830"></a><tt class="py-lineno">3830</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-3986" 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-4010', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4011" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-3986', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-3987" 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-4011', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4012" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-4012', 'fileInTestDir', 'link-13');">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="L3840"></a><tt class="py-lineno">3840</tt>  <tt class="py-line">                           <tt id="link-4013" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4013', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-4014" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4014', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3841"></a><tt class="py-lineno">3841</tt>  <tt class="py-line"> </tt>
-<a name="L3842"></a><tt class="py-lineno">3842</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4015" class="py-name"><a title="lxml.ElementInclude.include
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-3987', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-3988" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-3988', 'fileInTestDir', 'link-13');">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="L3831"></a><tt class="py-lineno">3831</tt>  <tt class="py-line">                           <tt id="link-3989" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-3989', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-3990" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-3990', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3832"></a><tt class="py-lineno">3832</tt>  <tt class="py-line"> </tt>
+<a name="L3833"></a><tt class="py-lineno">3833</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-3991" class="py-name"><a title="lxml.ElementInclude.include
 lxml.tests.test_etree.ETreeXIncludeTestCase.include
-lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-4015', 'include', 'link-3985');">include</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L3843"></a><tt class="py-lineno">3843</tt>  <tt class="py-line"> </tt>
-<a name="L3844"></a><tt class="py-lineno">3844</tt>  <tt class="py-line">        <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-4016" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-3991', 'include', 'link-3961');">include</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L3834"></a><tt class="py-lineno">3834</tt>  <tt class="py-line"> </tt>
+<a name="L3835"></a><tt class="py-lineno">3835</tt>  <tt class="py-line">        <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-3992" 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-4016', 'items', 'link-261');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3845"></a><tt class="py-lineno">3845</tt>  <tt class="py-line">        <tt class="py-name">called</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3846"></a><tt class="py-lineno">3846</tt>  <tt class="py-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="L3847"></a><tt class="py-lineno">3847</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">"dtd"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"include"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"input"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3848"></a><tt class="py-lineno">3848</tt>  <tt class="py-line">            <tt class="py-name">called</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3849"></a><tt class="py-lineno">3849</tt>  <tt class="py-line"> </tt>
-<a name="_XIncludeTestCase.test_xinclude_resolver_recursive"></a><div id="_XIncludeTestCase.test_xinclude_resolver_recursive-def"><a name="L3850"></a><tt class="py-lineno">3850</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude_resolver_recursive-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude_resolver_recursive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_resolver_recursive">test_xinclude_resolver_recursive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="_XIncludeTestCase.test_xinclude_resolver_recursive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude_resolver_recursive-expanded"><a name="L3851"></a><tt class="py-lineno">3851</tt>  <tt class="py-line">        <tt id="link-4017" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4017', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">textwrap</tt><tt class="py-op">.</tt><tt class="py-name">dedent</tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
-<a name="L3852"></a><tt class="py-lineno">3852</tt>  <tt class="py-line"><tt class="py-string">        &lt;doc xmlns:xi="http://www.w3.org/2001/XInclude"&gt;</tt> </tt>
-<a name="L3853"></a><tt class="py-lineno">3853</tt>  <tt class="py-line"><tt class="py-string">        &lt;foo/&gt;</tt> </tt>
-<a name="L3854"></a><tt class="py-lineno">3854</tt>  <tt class="py-line"><tt class="py-string">        &lt;xi:include href="./test.xml" /&gt;</tt> </tt>
-<a name="L3855"></a><tt class="py-lineno">3855</tt>  <tt class="py-line"><tt class="py-string">        &lt;/doc&gt;</tt> </tt>
-<a name="L3856"></a><tt class="py-lineno">3856</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
-<a name="L3857"></a><tt class="py-lineno">3857</tt>  <tt class="py-line"> </tt>
-<a name="L3858"></a><tt class="py-lineno">3858</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="L3859"></a><tt class="py-lineno">3859</tt>  <tt class="py-line">            <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
-<a name="L3860"></a><tt class="py-lineno">3860</tt>  <tt class="py-line"> </tt>
-<a name="L3861"></a><tt class="py-lineno">3861</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="L3862"></a><tt class="py-lineno">3862</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">"test_xinclude.xml"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L3863"></a><tt class="py-lineno">3863</tt>  <tt class="py-line">                    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-4018" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-3992', 'items', 'link-272');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3836"></a><tt class="py-lineno">3836</tt>  <tt class="py-line">        <tt class="py-name">called</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3837"></a><tt class="py-lineno">3837</tt>  <tt class="py-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="L3838"></a><tt class="py-lineno">3838</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">"dtd"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"include"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"input"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3839"></a><tt class="py-lineno">3839</tt>  <tt class="py-line">            <tt class="py-name">called</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3840"></a><tt class="py-lineno">3840</tt>  <tt class="py-line"> </tt>
+<a name="_XIncludeTestCase.test_xinclude_resolver_recursive"></a><div id="_XIncludeTestCase.test_xinclude_resolver_recursive-def"><a name="L3841"></a><tt class="py-lineno">3841</tt> <a class="py-toggle" href="#" id="_XIncludeTestCase.test_xinclude_resolver_recursive-toggle" onclick="return toggle('_XIncludeTestCase.test_xinclude_resolver_recursive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree._XIncludeTestCase-class.html#test_xinclude_resolver_recursive">test_xinclude_resolver_recursive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="_XIncludeTestCase.test_xinclude_resolver_recursive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="_XIncludeTestCase.test_xinclude_resolver_recursive-expanded"><a name="L3842"></a><tt class="py-lineno">3842</tt>  <tt class="py-line">        <tt id="link-3993" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-3993', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">textwrap</tt><tt class="py-op">.</tt><tt class="py-name">dedent</tt><tt class="py-op">(</tt><tt class="py-string">'''</tt> </tt>
+<a name="L3843"></a><tt class="py-lineno">3843</tt>  <tt class="py-line"><tt class="py-string">        &lt;doc xmlns:xi="http://www.w3.org/2001/XInclude"&gt;</tt> </tt>
+<a name="L3844"></a><tt class="py-lineno">3844</tt>  <tt class="py-line"><tt class="py-string">        &lt;foo/&gt;</tt> </tt>
+<a name="L3845"></a><tt class="py-lineno">3845</tt>  <tt class="py-line"><tt class="py-string">        &lt;xi:include href="./test.xml" /&gt;</tt> </tt>
+<a name="L3846"></a><tt class="py-lineno">3846</tt>  <tt class="py-line"><tt class="py-string">        &lt;/doc&gt;</tt> </tt>
+<a name="L3847"></a><tt class="py-lineno">3847</tt>  <tt class="py-line"><tt class="py-string">        '''</tt><tt class="py-op">)</tt> </tt>
+<a name="L3848"></a><tt class="py-lineno">3848</tt>  <tt class="py-line"> </tt>
+<a name="L3849"></a><tt class="py-lineno">3849</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="L3850"></a><tt class="py-lineno">3850</tt>  <tt class="py-line">            <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L3851"></a><tt class="py-lineno">3851</tt>  <tt class="py-line"> </tt>
+<a name="L3852"></a><tt class="py-lineno">3852</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="L3853"></a><tt class="py-lineno">3853</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">"test_xinclude.xml"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3854"></a><tt class="py-lineno">3854</tt>  <tt class="py-line">                    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-3994" 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-4018', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"input"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3864"></a><tt class="py-lineno">3864</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"input"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L3865"></a><tt class="py-lineno">3865</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt>  <tt class="py-comment"># delegate to default resolver</tt> </tt>
-<a name="L3866"></a><tt class="py-lineno">3866</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'/test5.xml'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L3867"></a><tt class="py-lineno">3867</tt>  <tt class="py-line">                    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-4019" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3994', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"input"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3855"></a><tt class="py-lineno">3855</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"input"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3856"></a><tt class="py-lineno">3856</tt>  <tt class="py-line">                    <tt class="py-keyword">return</tt> <tt class="py-name">None</tt>  <tt class="py-comment"># delegate to default resolver</tt> </tt>
+<a name="L3857"></a><tt class="py-lineno">3857</tt>  <tt class="py-line">                <tt class="py-keyword">elif</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">endswith</tt><tt class="py-op">(</tt><tt class="py-string">'/test5.xml'</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L3858"></a><tt class="py-lineno">3858</tt>  <tt class="py-line">                    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-3995" 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-4019', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"DONE"</tt><tt class="py-op">)</tt> </tt>
-<a name="L3868"></a><tt class="py-lineno">3868</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"DONE"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L3869"></a><tt class="py-lineno">3869</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-4020" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-4020', 'resolve_string', 'link-1309');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;DONE/&gt;'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-<a name="L3870"></a><tt class="py-lineno">3870</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
-<a name="L3871"></a><tt class="py-lineno">3871</tt>  <tt class="py-line">                    <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt id="link-4021" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4021', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</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>
-<a name="L3872"></a><tt class="py-lineno">3872</tt>  <tt class="py-line">                    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-4022" class="py-name"><a title="lxml.etree._Attrib.get
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3995', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt class="py-string">"DONE"</tt><tt class="py-op">)</tt> </tt>
+<a name="L3859"></a><tt class="py-lineno">3859</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt class="py-string">"DONE"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3860"></a><tt class="py-lineno">3860</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-3996" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-3996', 'resolve_string', 'link-1309');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;DONE/&gt;'</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+<a name="L3861"></a><tt class="py-lineno">3861</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L3862"></a><tt class="py-lineno">3862</tt>  <tt class="py-line">                    <tt class="py-name">_</tt><tt class="py-op">,</tt> <tt id="link-3997" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3997', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">url</tt><tt class="py-op">.</tt><tt class="py-name">rsplit</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>
+<a name="L3863"></a><tt class="py-lineno">3863</tt>  <tt class="py-line">                    <tt class="py-keyword">assert</tt> <tt class="py-keyword">not</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-3998" 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-4022', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt id="link-4023" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4023', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3873"></a><tt class="py-lineno">3873</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt id="link-4024" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4024', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
-<a name="L3874"></a><tt class="py-lineno">3874</tt>  <tt class="py-line">                    <tt class="py-name">next_data</tt> <tt class="py-op">=</tt> <tt id="link-4025" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4025', 'data', 'link-1089');">data</a></tt><tt class="py-op">.</tt><tt id="link-4026" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-4026', 'replace', 'link-591');">replace</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3875"></a><tt class="py-lineno">3875</tt>  <tt class="py-line">                        <tt class="py-string">'test.xml'</tt><tt class="py-op">,</tt> <tt class="py-string">'test%d.xml'</tt> <tt class="py-op">%</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3876"></a><tt class="py-lineno">3876</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-4027" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-4027', 'resolve_string', 'link-1309');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-name">next_data</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L3877"></a><tt class="py-lineno">3877</tt>  <tt class="py-line"> </tt>
-<a name="L3878"></a><tt class="py-lineno">3878</tt>  <tt class="py-line">        <tt class="py-name">res_instance</tt> <tt class="py-op">=</tt> <tt id="link-4028" 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-4028', 'Resolver', 'link-4028');">Resolver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3879"></a><tt class="py-lineno">3879</tt>  <tt class="py-line">        <tt id="link-4029" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4029', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-4030" class="py-name"><a title="lxml.etree
+lxml.etree._ProcessingInstruction.get" class="py-name" href="#" onclick="return doclink('link-3998', 'get', 'link-238');">get</a></tt><tt class="py-op">(</tt><tt id="link-3999" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-3999', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3864"></a><tt class="py-lineno">3864</tt>  <tt class="py-line">                    <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">[</tt><tt id="link-4000" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4000', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L3865"></a><tt class="py-lineno">3865</tt>  <tt class="py-line">                    <tt class="py-name">next_data</tt> <tt class="py-op">=</tt> <tt id="link-4001" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4001', 'data', 'link-1089');">data</a></tt><tt class="py-op">.</tt><tt id="link-4002" class="py-name"><a title="lxml.etree._Element.replace" class="py-name" href="#" onclick="return doclink('link-4002', 'replace', 'link-602');">replace</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3866"></a><tt class="py-lineno">3866</tt>  <tt class="py-line">                        <tt class="py-string">'test.xml'</tt><tt class="py-op">,</tt> <tt class="py-string">'test%d.xml'</tt> <tt class="py-op">%</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3867"></a><tt class="py-lineno">3867</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-4003" class="py-name"><a title="lxml.etree.Resolver.resolve_string" class="py-name" href="#" onclick="return doclink('link-4003', 'resolve_string', 'link-1309');">resolve_string</a></tt><tt class="py-op">(</tt><tt class="py-name">next_data</tt><tt class="py-op">,</tt> <tt class="py-name">context</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3868"></a><tt class="py-lineno">3868</tt>  <tt class="py-line"> </tt>
+<a name="L3869"></a><tt class="py-lineno">3869</tt>  <tt class="py-line">        <tt class="py-name">res_instance</tt> <tt class="py-op">=</tt> <tt id="link-4004" 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-4004', 'Resolver', 'link-4004');">Resolver</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3870"></a><tt class="py-lineno">3870</tt>  <tt class="py-line">        <tt id="link-4005" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4005', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt id="link-4006" 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-4030', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4031" class="py-name"><a title="lxml.etree.XMLParser
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4006', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4007" 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-4031', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">load_dtd</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3880"></a><tt class="py-lineno">3880</tt>  <tt class="py-line">        <tt id="link-4032" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4032', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4033" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-4033', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-4034" class="py-name"><a title="lxml.html.CheckboxValues.add
-lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-4034', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">)</tt> </tt>
-<a name="L3881"></a><tt class="py-lineno">3881</tt>  <tt class="py-line"> </tt>
-<a name="L3882"></a><tt class="py-lineno">3882</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-4035" class="py-name"><a title="lxml.etree
+xml.etree.ElementTree.XMLParser" class="py-name" href="#" onclick="return doclink('link-4007', 'XMLParser', 'link-795');">XMLParser</a></tt><tt class="py-op">(</tt><tt class="py-name">load_dtd</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3871"></a><tt class="py-lineno">3871</tt>  <tt class="py-line">        <tt id="link-4008" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4008', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4009" class="py-name"><a title="lxml.etree.iterparse.resolvers" class="py-name" href="#" onclick="return doclink('link-4009', 'resolvers', 'link-1312');">resolvers</a></tt><tt class="py-op">.</tt><tt id="link-4010" class="py-name"><a title="lxml.html.CheckboxValues.add
+lxml.html.MultipleSelectOptions.add" class="py-name" href="#" onclick="return doclink('link-4010', 'add', 'link-1313');">add</a></tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">)</tt> </tt>
+<a name="L3872"></a><tt class="py-lineno">3872</tt>  <tt class="py-line"> </tt>
+<a name="L3873"></a><tt class="py-lineno">3873</tt>  <tt class="py-line">        <tt class="py-name">tree</tt> <tt class="py-op">=</tt> <tt id="link-4011" 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-4035', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4036" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4011', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4012" 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-4036', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4037" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-4037', 'fileInTestDir', 'link-13');">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="L3883"></a><tt class="py-lineno">3883</tt>  <tt class="py-line">                           <tt id="link-4038" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4038', 'parser', 'link-800');">parser</a></tt><tt class="py-op">=</tt><tt id="link-4039" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4039', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3884"></a><tt class="py-lineno">3884</tt>  <tt class="py-line"> </tt>
-<a name="L3885"></a><tt class="py-lineno">3885</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4040" class="py-name"><a title="lxml.ElementInclude.include
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4012', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4013" class="py-name"><a title="lxml.tests.common_imports.fileInTestDir" class="py-name" href="#" onclick="return doclink('link-4013', 'fileInTestDir', 'link-13');">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="L3874"></a><tt class="py-lineno">3874</tt>  <tt class="py-line">                           <tt id="link-4014" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4014', 'parser', 'link-800');">parser</a></tt><tt class="py-op">=</tt><tt id="link-4015" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4015', 'parser', 'link-800');">parser</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3875"></a><tt class="py-lineno">3875</tt>  <tt class="py-line"> </tt>
+<a name="L3876"></a><tt class="py-lineno">3876</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4016" class="py-name"><a title="lxml.ElementInclude.include
 lxml.tests.test_etree.ETreeXIncludeTestCase.include
-lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-4040', 'include', 'link-3985');">include</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L3886"></a><tt class="py-lineno">3886</tt>  <tt class="py-line"> </tt>
-<a name="L3887"></a><tt class="py-lineno">3887</tt>  <tt class="py-line">        <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-4041" class="py-name"><a title="lxml.etree._Attrib.items
+lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-4016', 'include', 'link-3961');">include</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L3877"></a><tt class="py-lineno">3877</tt>  <tt class="py-line"> </tt>
+<a name="L3878"></a><tt class="py-lineno">3878</tt>  <tt class="py-line">        <tt class="py-name">called</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">res_instance</tt><tt class="py-op">.</tt><tt class="py-name">called</tt><tt class="py-op">.</tt><tt id="link-4017" 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-4041', 'items', 'link-261');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3888"></a><tt class="py-lineno">3888</tt>  <tt class="py-line">        <tt class="py-name">called</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3889"></a><tt class="py-lineno">3889</tt>  <tt class="py-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="L3890"></a><tt class="py-lineno">3890</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">"DONE"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"input"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"test.xml"</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="L3891"></a><tt class="py-lineno">3891</tt>  <tt class="py-line">             <tt class="py-op">(</tt><tt class="py-string">"test2.xml"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"test3.xml"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"test4.xml"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L3892"></a><tt class="py-lineno">3892</tt>  <tt class="py-line">            <tt class="py-name">called</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L3893"></a><tt class="py-lineno">3893</tt>  <tt class="py-line"> </tt>
-<a name="L3894"></a><tt class="py-lineno">3894</tt>  <tt class="py-line"> </tt>
-<a name="ETreeXIncludeTestCase"></a><div id="ETreeXIncludeTestCase-def"><a name="L3895"></a><tt class="py-lineno">3895</tt> <a class="py-toggle" href="#" id="ETreeXIncludeTestCase-toggle" onclick="return toggle('ETreeXIncludeTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeXIncludeTestCase-class.html">ETreeXIncludeTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">_XIncludeTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXIncludeTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeXIncludeTestCase-expanded"><a name="ETreeXIncludeTestCase.include"></a><div id="ETreeXIncludeTestCase.include-def"><a name="L3896"></a><tt class="py-lineno">3896</tt> <a class="py-toggle" href="#" id="ETreeXIncludeTestCase.include-toggle" onclick="return toggle('ETreeXIncludeTestCase.include');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeXIncludeTestCase-class.html#include">include</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tree</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeXIncludeTestCase.include-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXIncludeTestCase.include-expanded"><a name="L3897"></a><tt class="py-lineno">3897</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4042" class="py-name" targets="Method lxml.etree._ElementTree.xinclude()=lxml.etree._ElementTree-class.html#xinclude"><a title="lxml.etree._ElementTree.xinclude" class="py-name" href="#" onclick="return doclink('link-4042', 'xinclude', 'link-4042');">xinclude</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L3898"></a><tt class="py-lineno">3898</tt>  <tt class="py-line"> </tt>
-<a name="L3899"></a><tt class="py-lineno">3899</tt>  <tt class="py-line"> </tt>
-<a name="ElementIncludeTestCase"></a><div id="ElementIncludeTestCase-def"><a name="L3900"></a><tt class="py-lineno">3900</tt> <a class="py-toggle" href="#" id="ElementIncludeTestCase-toggle" onclick="return toggle('ElementIncludeTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ElementIncludeTestCase-class.html">ElementIncludeTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">_XIncludeTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementIncludeTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ElementIncludeTestCase-expanded"><a name="L3901"></a><tt class="py-lineno">3901</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt id="link-4043" class="py-name" targets="Package lxml=lxml-module.html"><a title="lxml" class="py-name" href="#" onclick="return doclink('link-4043', 'lxml', 'link-4043');">lxml</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4044" class="py-name" targets="Module lxml.ElementInclude=lxml.ElementInclude-module.html"><a title="lxml.ElementInclude" class="py-name" href="#" onclick="return doclink('link-4044', 'ElementInclude', 'link-4044');">ElementInclude</a></tt> </tt>
-<a name="ElementIncludeTestCase.include"></a><div id="ElementIncludeTestCase.include-def"><a name="L3902"></a><tt class="py-lineno">3902</tt> <a class="py-toggle" href="#" id="ElementIncludeTestCase.include-toggle" onclick="return toggle('ElementIncludeTestCase.include');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ElementIncludeTestCase-class.html#include">include</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tree</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ElementIncludeTestCase.include-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ElementIncludeTestCase.include-expanded"><a name="L3903"></a><tt class="py-lineno">3903</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4045" class="py-name"><a title="lxml.ElementInclude" class="py-name" href="#" onclick="return doclink('link-4045', 'ElementInclude', 'link-4044');">ElementInclude</a></tt><tt class="py-op">.</tt><tt id="link-4046" class="py-name"><a title="lxml.ElementInclude.include
+lxml.etree._IDDict.items" class="py-name" href="#" onclick="return doclink('link-4017', 'items', 'link-272');">items</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3879"></a><tt class="py-lineno">3879</tt>  <tt class="py-line">        <tt class="py-name">called</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3880"></a><tt class="py-lineno">3880</tt>  <tt class="py-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="L3881"></a><tt class="py-lineno">3881</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">"DONE"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"input"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"test.xml"</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="L3882"></a><tt class="py-lineno">3882</tt>  <tt class="py-line">             <tt class="py-op">(</tt><tt class="py-string">"test2.xml"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"test3.xml"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">"test4.xml"</tt><tt class="py-op">,</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L3883"></a><tt class="py-lineno">3883</tt>  <tt class="py-line">            <tt class="py-name">called</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3884"></a><tt class="py-lineno">3884</tt>  <tt class="py-line"> </tt>
+<a name="L3885"></a><tt class="py-lineno">3885</tt>  <tt class="py-line"> </tt>
+<a name="ETreeXIncludeTestCase"></a><div id="ETreeXIncludeTestCase-def"><a name="L3886"></a><tt class="py-lineno">3886</tt> <a class="py-toggle" href="#" id="ETreeXIncludeTestCase-toggle" onclick="return toggle('ETreeXIncludeTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeXIncludeTestCase-class.html">ETreeXIncludeTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">_XIncludeTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXIncludeTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeXIncludeTestCase-expanded"><a name="ETreeXIncludeTestCase.include"></a><div id="ETreeXIncludeTestCase.include-def"><a name="L3887"></a><tt class="py-lineno">3887</tt> <a class="py-toggle" href="#" id="ETreeXIncludeTestCase.include-toggle" onclick="return toggle('ETreeXIncludeTestCase.include');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeXIncludeTestCase-class.html#include">include</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tree</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeXIncludeTestCase.include-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeXIncludeTestCase.include-expanded"><a name="L3888"></a><tt class="py-lineno">3888</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4018" class="py-name" targets="Method lxml.etree._ElementTree.xinclude()=lxml.etree._ElementTree-class.html#xinclude"><a title="lxml.etree._ElementTree.xinclude" class="py-name" href="#" onclick="return doclink('link-4018', 'xinclude', 'link-4018');">xinclude</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3889"></a><tt class="py-lineno">3889</tt>  <tt class="py-line"> </tt>
+<a name="L3890"></a><tt class="py-lineno">3890</tt>  <tt class="py-line"> </tt>
+<a name="ElementIncludeTestCase"></a><div id="ElementIncludeTestCase-def"><a name="L3891"></a><tt class="py-lineno">3891</tt> <a class="py-toggle" href="#" id="ElementIncludeTestCase-toggle" onclick="return toggle('ElementIncludeTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ElementIncludeTestCase-class.html">ElementIncludeTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">_XIncludeTestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementIncludeTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ElementIncludeTestCase-expanded"><a name="L3892"></a><tt class="py-lineno">3892</tt>  <tt class="py-line">    <tt class="py-keyword">from</tt> <tt id="link-4019" class="py-name" targets="Package lxml=lxml-module.html"><a title="lxml" class="py-name" href="#" onclick="return doclink('link-4019', 'lxml', 'link-4019');">lxml</a></tt> <tt class="py-keyword">import</tt> <tt id="link-4020" class="py-name" targets="Module lxml.ElementInclude=lxml.ElementInclude-module.html"><a title="lxml.ElementInclude" class="py-name" href="#" onclick="return doclink('link-4020', 'ElementInclude', 'link-4020');">ElementInclude</a></tt> </tt>
+<a name="ElementIncludeTestCase.include"></a><div id="ElementIncludeTestCase.include-def"><a name="L3893"></a><tt class="py-lineno">3893</tt> <a class="py-toggle" href="#" id="ElementIncludeTestCase.include-toggle" onclick="return toggle('ElementIncludeTestCase.include');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ElementIncludeTestCase-class.html#include">include</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tree</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ElementIncludeTestCase.include-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ElementIncludeTestCase.include-expanded"><a name="L3894"></a><tt class="py-lineno">3894</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4021" class="py-name"><a title="lxml.ElementInclude" class="py-name" href="#" onclick="return doclink('link-4021', 'ElementInclude', 'link-4020');">ElementInclude</a></tt><tt class="py-op">.</tt><tt id="link-4022" class="py-name"><a title="lxml.ElementInclude.include
 lxml.tests.test_etree.ETreeXIncludeTestCase.include
-lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-4046', 'include', 'link-3985');">include</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4047" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4047', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L3904"></a><tt class="py-lineno">3904</tt>  <tt class="py-line"> </tt>
-<a name="L3905"></a><tt class="py-lineno">3905</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase"></a><div id="ETreeC14NTestCase-def"><a name="L3906"></a><tt class="py-lineno">3906</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase-toggle" onclick="return toggle('ETreeC14NTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</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="ETreeC14NTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeC14NTestCase-expanded"><a name="ETreeC14NTestCase.test_c14n"></a><div id="ETreeC14NTestCase.test_c14n-def"><a name="L3907"></a><tt class="py-lineno">3907</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n">test_c14n</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n-expanded"><a name="L3908"></a><tt class="py-lineno">3908</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-4048" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_etree.ElementIncludeTestCase.include" class="py-name" href="#" onclick="return doclink('link-4022', 'include', 'link-3961');">include</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4023" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4023', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L3895"></a><tt class="py-lineno">3895</tt>  <tt class="py-line"> </tt>
+<a name="L3896"></a><tt class="py-lineno">3896</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase"></a><div id="ETreeC14NTestCase-def"><a name="L3897"></a><tt class="py-lineno">3897</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase-toggle" onclick="return toggle('ETreeC14NTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html">ETreeC14NTestCase</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="ETreeC14NTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeC14NTestCase-expanded"><a name="ETreeC14NTestCase.test_c14n"></a><div id="ETreeC14NTestCase.test_c14n-def"><a name="L3898"></a><tt class="py-lineno">3898</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n">test_c14n</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n-expanded"><a name="L3899"></a><tt class="py-lineno">3899</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-4024" 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-4048', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4049" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4049', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3909"></a><tt class="py-lineno">3909</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="L3910"></a><tt class="py-lineno">3910</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4050" class="py-name" targets="Method lxml.etree._ElementTree.write_c14n()=lxml.etree._ElementTree-class.html#write_c14n"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4050', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L3911"></a><tt class="py-lineno">3911</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L3912"></a><tt class="py-lineno">3912</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4051" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4051', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3913"></a><tt class="py-lineno">3913</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3914"></a><tt class="py-lineno">3914</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_gzip"></a><div id="ETreeC14NTestCase.test_c14n_gzip-def"><a name="L3915"></a><tt class="py-lineno">3915</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_gzip-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_gzip">test_c14n_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_gzip-expanded"><a name="L3916"></a><tt class="py-lineno">3916</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-4052" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4024', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4025" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4025', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3900"></a><tt class="py-lineno">3900</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="L3901"></a><tt class="py-lineno">3901</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4026" class="py-name" targets="Method lxml.etree._ElementTree.write_c14n()=lxml.etree._ElementTree-class.html#write_c14n"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4026', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L3902"></a><tt class="py-lineno">3902</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L3903"></a><tt class="py-lineno">3903</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4027" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4027', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3904"></a><tt class="py-lineno">3904</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3905"></a><tt class="py-lineno">3905</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_gzip"></a><div id="ETreeC14NTestCase.test_c14n_gzip-def"><a name="L3906"></a><tt class="py-lineno">3906</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_gzip-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_gzip">test_c14n_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_gzip-expanded"><a name="L3907"></a><tt class="py-lineno">3907</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-4028" 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-4052', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4053" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4053', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3917"></a><tt class="py-lineno">3917</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="L3918"></a><tt class="py-lineno">3918</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4054" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4054', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L3919"></a><tt class="py-lineno">3919</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</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>
-<a name="L3920"></a><tt class="py-lineno">3920</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L3921"></a><tt class="py-lineno">3921</tt>  <tt class="py-line">            <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4055" class="py-name" targets="Method lxml.tests.common_imports.LargeFileLike.read()=lxml.tests.common_imports.LargeFileLike-class.html#read,Method lxml.tests.common_imports.SillyFileLike.read()=lxml.tests.common_imports.SillyFileLike-class.html#read"><a title="lxml.tests.common_imports.LargeFileLike.read
-lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4055', 'read', 'link-4055');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3922"></a><tt class="py-lineno">3922</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L3923"></a><tt class="py-lineno">3923</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4056" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4028', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4029" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4029', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3908"></a><tt class="py-lineno">3908</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="L3909"></a><tt class="py-lineno">3909</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4030" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4030', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L3910"></a><tt class="py-lineno">3910</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</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>
+<a name="L3911"></a><tt class="py-lineno">3911</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3912"></a><tt class="py-lineno">3912</tt>  <tt class="py-line">            <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4031" class="py-name" targets="Method lxml.tests.common_imports.LargeFileLike.read()=lxml.tests.common_imports.LargeFileLike-class.html#read,Method lxml.tests.common_imports.SillyFileLike.read()=lxml.tests.common_imports.SillyFileLike-class.html#read"><a title="lxml.tests.common_imports.LargeFileLike.read
+lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4031', 'read', 'link-4031');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3913"></a><tt class="py-lineno">3913</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L3914"></a><tt class="py-lineno">3914</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4032" class="py-name"><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-4056', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3924"></a><tt class="py-lineno">3924</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4057" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4057', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3925"></a><tt class="py-lineno">3925</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3926"></a><tt class="py-lineno">3926</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_file"></a><div id="ETreeC14NTestCase.test_c14n_file-def"><a name="L3927"></a><tt class="py-lineno">3927</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_file-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_file">test_c14n_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_file-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_file-expanded"><a name="L3928"></a><tt class="py-lineno">3928</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-4058" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4032', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3915"></a><tt class="py-lineno">3915</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4033" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4033', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3916"></a><tt class="py-lineno">3916</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3917"></a><tt class="py-lineno">3917</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_file"></a><div id="ETreeC14NTestCase.test_c14n_file-def"><a name="L3918"></a><tt class="py-lineno">3918</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_file-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_file">test_c14n_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_file-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_file-expanded"><a name="L3919"></a><tt class="py-lineno">3919</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-4034" 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-4058', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4059" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4059', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3929"></a><tt class="py-lineno">3929</tt>  <tt class="py-line">        <tt id="link-4060" class="py-name" targets="Method lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-class.html#handle"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4034', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4035" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4035', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3920"></a><tt class="py-lineno">3920</tt>  <tt class="py-line">        <tt id="link-4036" class="py-name" targets="Method lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker-class.html#handle,Method lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle()=lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-class.html#handle"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4060', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4061" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4061', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3930"></a><tt class="py-lineno">3930</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L3931"></a><tt class="py-lineno">3931</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4062" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4062', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt id="link-4063" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4063', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3932"></a><tt class="py-lineno">3932</tt>  <tt class="py-line">            <tt id="link-4064" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4064', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4065" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-4065', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-4066" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4066', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3933"></a><tt class="py-lineno">3933</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L3934"></a><tt class="py-lineno">3934</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4067" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4036', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4037" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4037', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3921"></a><tt class="py-lineno">3921</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3922"></a><tt class="py-lineno">3922</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4038" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4038', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt id="link-4039" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4039', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3923"></a><tt class="py-lineno">3923</tt>  <tt class="py-line">            <tt id="link-4040" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4040', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4041" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-4041', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-4042" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4042', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3924"></a><tt class="py-lineno">3924</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L3925"></a><tt class="py-lineno">3925</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4043" class="py-name"><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-4067', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4068" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4043', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4044" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4068', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3935"></a><tt class="py-lineno">3935</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4069" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4044', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3926"></a><tt class="py-lineno">3926</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4045" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4069', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4070" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4070', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3936"></a><tt class="py-lineno">3936</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4071" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4071', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3937"></a><tt class="py-lineno">3937</tt>  <tt class="py-line">                          <tt id="link-4072" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4072', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3938"></a><tt class="py-lineno">3938</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_file_gzip"></a><div id="ETreeC14NTestCase.test_c14n_file_gzip-def"><a name="L3939"></a><tt class="py-lineno">3939</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_file_gzip-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_file_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_file_gzip">test_c14n_file_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_file_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_file_gzip-expanded"><a name="L3940"></a><tt class="py-lineno">3940</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-4073" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4045', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4046" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4046', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3927"></a><tt class="py-lineno">3927</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4047" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4047', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3928"></a><tt class="py-lineno">3928</tt>  <tt class="py-line">                          <tt id="link-4048" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4048', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3929"></a><tt class="py-lineno">3929</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_file_gzip"></a><div id="ETreeC14NTestCase.test_c14n_file_gzip-def"><a name="L3930"></a><tt class="py-lineno">3930</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_file_gzip-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_file_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_file_gzip">test_c14n_file_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_file_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_file_gzip-expanded"><a name="L3931"></a><tt class="py-lineno">3931</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-4049" 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-4073', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4074" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4074', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3941"></a><tt class="py-lineno">3941</tt>  <tt class="py-line">        <tt id="link-4075" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4049', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4050" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4050', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3932"></a><tt class="py-lineno">3932</tt>  <tt class="py-line">        <tt id="link-4051" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4075', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4076" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4076', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3942"></a><tt class="py-lineno">3942</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L3943"></a><tt class="py-lineno">3943</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4077" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4077', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt id="link-4078" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4078', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L3944"></a><tt class="py-lineno">3944</tt>  <tt class="py-line">            <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-4079" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4079', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3945"></a><tt class="py-lineno">3945</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L3946"></a><tt class="py-lineno">3946</tt>  <tt class="py-line">                <tt id="link-4080" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4080', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4081" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
-lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4081', 'read', 'link-4055');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3947"></a><tt class="py-lineno">3947</tt>  <tt class="py-line">            <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L3948"></a><tt class="py-lineno">3948</tt>  <tt class="py-line">                <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4082" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4051', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4052" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4052', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3933"></a><tt class="py-lineno">3933</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3934"></a><tt class="py-lineno">3934</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4053" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4053', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt id="link-4054" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4054', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L3935"></a><tt class="py-lineno">3935</tt>  <tt class="py-line">            <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-4055" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4055', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3936"></a><tt class="py-lineno">3936</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L3937"></a><tt class="py-lineno">3937</tt>  <tt class="py-line">                <tt id="link-4056" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4056', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4057" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
+lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4057', 'read', 'link-4031');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3938"></a><tt class="py-lineno">3938</tt>  <tt class="py-line">            <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L3939"></a><tt class="py-lineno">3939</tt>  <tt class="py-line">                <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4058" class="py-name"><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-4082', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L3949"></a><tt class="py-lineno">3949</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L3950"></a><tt class="py-lineno">3950</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4083" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4058', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L3940"></a><tt class="py-lineno">3940</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L3941"></a><tt class="py-lineno">3941</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4059" class="py-name"><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-4083', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4084" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4059', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4060" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4084', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3951"></a><tt class="py-lineno">3951</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4085" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4060', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3942"></a><tt class="py-lineno">3942</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4061" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4085', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4086" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4086', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L3952"></a><tt class="py-lineno">3952</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4087" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4087', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3953"></a><tt class="py-lineno">3953</tt>  <tt class="py-line">                          <tt id="link-4088" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4088', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3954"></a><tt class="py-lineno">3954</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_with_comments"></a><div id="ETreeC14NTestCase.test_c14n_with_comments-def"><a name="L3955"></a><tt class="py-lineno">3955</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_with_comments-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_with_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_with_comments">test_c14n_with_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_with_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_with_comments-expanded"><a name="L3956"></a><tt class="py-lineno">3956</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-4089" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4061', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4062" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4062', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L3943"></a><tt class="py-lineno">3943</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4063" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4063', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b&gt;&lt;/b&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3944"></a><tt class="py-lineno">3944</tt>  <tt class="py-line">                          <tt id="link-4064" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4064', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3945"></a><tt class="py-lineno">3945</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_with_comments"></a><div id="ETreeC14NTestCase.test_c14n_with_comments-def"><a name="L3946"></a><tt class="py-lineno">3946</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_with_comments-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_with_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_with_comments">test_c14n_with_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_with_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_with_comments-expanded"><a name="L3947"></a><tt class="py-lineno">3947</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-4065" 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-4089', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4090" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4090', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;&lt;a&gt;&lt;!--ho--&gt;&lt;b/&gt;&lt;/a&gt;&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3957"></a><tt class="py-lineno">3957</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="L3958"></a><tt class="py-lineno">3958</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4091" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4091', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L3959"></a><tt class="py-lineno">3959</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L3960"></a><tt class="py-lineno">3960</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4092" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4092', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3961"></a><tt class="py-lineno">3961</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L3962"></a><tt class="py-lineno">3962</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="L3963"></a><tt class="py-lineno">3963</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4093" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4093', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3964"></a><tt class="py-lineno">3964</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L3965"></a><tt class="py-lineno">3965</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4094" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4094', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3966"></a><tt class="py-lineno">3966</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L3967"></a><tt class="py-lineno">3967</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="L3968"></a><tt class="py-lineno">3968</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4095" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4095', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3969"></a><tt class="py-lineno">3969</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L3970"></a><tt class="py-lineno">3970</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4096" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4096', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3971"></a><tt class="py-lineno">3971</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3972"></a><tt class="py-lineno">3972</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_tostring_with_comments"></a><div id="ETreeC14NTestCase.test_c14n_tostring_with_comments-def"><a name="L3973"></a><tt class="py-lineno">3973</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_tostring_with_comments-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_tostring_with_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_with_comments">test_c14n_tostring_with_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_tostring_with_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_tostring_with_comments-expanded"><a name="L3974"></a><tt class="py-lineno">3974</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-4097" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4065', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4066" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4066', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;&lt;a&gt;&lt;!--ho--&gt;&lt;b/&gt;&lt;/a&gt;&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3948"></a><tt class="py-lineno">3948</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="L3949"></a><tt class="py-lineno">3949</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4067" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4067', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L3950"></a><tt class="py-lineno">3950</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L3951"></a><tt class="py-lineno">3951</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4068" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4068', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3952"></a><tt class="py-lineno">3952</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3953"></a><tt class="py-lineno">3953</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="L3954"></a><tt class="py-lineno">3954</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4069" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4069', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3955"></a><tt class="py-lineno">3955</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L3956"></a><tt class="py-lineno">3956</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4070" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4070', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3957"></a><tt class="py-lineno">3957</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3958"></a><tt class="py-lineno">3958</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="L3959"></a><tt class="py-lineno">3959</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4071" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4071', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3960"></a><tt class="py-lineno">3960</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L3961"></a><tt class="py-lineno">3961</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4072" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4072', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3962"></a><tt class="py-lineno">3962</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3963"></a><tt class="py-lineno">3963</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_tostring_with_comments"></a><div id="ETreeC14NTestCase.test_c14n_tostring_with_comments-def"><a name="L3964"></a><tt class="py-lineno">3964</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_tostring_with_comments-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_tostring_with_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_with_comments">test_c14n_tostring_with_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_tostring_with_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_tostring_with_comments-expanded"><a name="L3965"></a><tt class="py-lineno">3965</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-4073" 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-4097', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4098" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4098', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;&lt;a&gt;&lt;!--ho--&gt;&lt;b/&gt;&lt;/a&gt;&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3975"></a><tt class="py-lineno">3975</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4099" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4073', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4074" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4074', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;&lt;a&gt;&lt;!--ho--&gt;&lt;b/&gt;&lt;/a&gt;&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3966"></a><tt class="py-lineno">3966</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4075" 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-4099', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4100" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4100', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4101" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4101', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3976"></a><tt class="py-lineno">3976</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4102" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4102', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3977"></a><tt class="py-lineno">3977</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L3978"></a><tt class="py-lineno">3978</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4103" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4075', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4076" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4076', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4077" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4077', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3967"></a><tt class="py-lineno">3967</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4078" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4078', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3968"></a><tt class="py-lineno">3968</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3969"></a><tt class="py-lineno">3969</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4079" 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-4103', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4104" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4104', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4105" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4105', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3979"></a><tt class="py-lineno">3979</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4106" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4106', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3980"></a><tt class="py-lineno">3980</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L3981"></a><tt class="py-lineno">3981</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4107" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4079', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4080" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4080', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4081" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4081', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3970"></a><tt class="py-lineno">3970</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4082" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4082', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;\n&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;\n&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3971"></a><tt class="py-lineno">3971</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3972"></a><tt class="py-lineno">3972</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4083" 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-4107', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4108" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4108', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4109" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4109', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3982"></a><tt class="py-lineno">3982</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4110" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4110', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3983"></a><tt class="py-lineno">3983</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3984"></a><tt class="py-lineno">3984</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_element_tostring_with_comments"></a><div id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-def"><a name="L3985"></a><tt class="py-lineno">3985</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_element_tostring_with_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_element_tostring_with_comments">test_c14n_element_tostring_with_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-expanded"><a name="L3986"></a><tt class="py-lineno">3986</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-4111" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4083', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4084" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4084', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4085" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4085', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3973"></a><tt class="py-lineno">3973</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4086" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4086', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3974"></a><tt class="py-lineno">3974</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3975"></a><tt class="py-lineno">3975</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_element_tostring_with_comments"></a><div id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-def"><a name="L3976"></a><tt class="py-lineno">3976</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_element_tostring_with_comments');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_element_tostring_with_comments">test_c14n_element_tostring_with_comments</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_element_tostring_with_comments-expanded"><a name="L3977"></a><tt class="py-lineno">3977</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-4087" 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-4111', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4112" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4112', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;&lt;a&gt;&lt;!--ho--&gt;&lt;b/&gt;&lt;/a&gt;&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L3987"></a><tt class="py-lineno">3987</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4113" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4087', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4088" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4088', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!--hi--&gt;&lt;a&gt;&lt;!--ho--&gt;&lt;b/&gt;&lt;/a&gt;&lt;!--hu--&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3978"></a><tt class="py-lineno">3978</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4089" 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-4113', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4114" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4114', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4115" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4115', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4116" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4116', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L3988"></a><tt class="py-lineno">3988</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4117" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4117', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3989"></a><tt class="py-lineno">3989</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L3990"></a><tt class="py-lineno">3990</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4118" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4089', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4090" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4090', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4091" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4091', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4092" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4092', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L3979"></a><tt class="py-lineno">3979</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4093" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4093', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3980"></a><tt class="py-lineno">3980</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3981"></a><tt class="py-lineno">3981</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4094" 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-4118', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4119" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4119', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4120" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4120', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4121" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4121', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L3991"></a><tt class="py-lineno">3991</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4122" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4122', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3992"></a><tt class="py-lineno">3992</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L3993"></a><tt class="py-lineno">3993</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4123" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4094', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4095" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4095', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4096" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4096', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4097" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4097', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L3982"></a><tt class="py-lineno">3982</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4098" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4098', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;!--ho--&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3983"></a><tt class="py-lineno">3983</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3984"></a><tt class="py-lineno">3984</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4099" 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-4123', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4124" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4124', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4125" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4125', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4126" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4126', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L3994"></a><tt class="py-lineno">3994</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4127" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4127', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L3995"></a><tt class="py-lineno">3995</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L3996"></a><tt class="py-lineno">3996</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_exclusive"></a><div id="ETreeC14NTestCase.test_c14n_exclusive-def"><a name="L3997"></a><tt class="py-lineno">3997</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_exclusive-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_exclusive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_exclusive">test_c14n_exclusive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_exclusive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_exclusive-expanded"><a name="L3998"></a><tt class="py-lineno">3998</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-4128" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4099', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4100" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4100', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4101" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4101', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4102" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4102', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">with_comments</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3985"></a><tt class="py-lineno">3985</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4103" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4103', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3986"></a><tt class="py-lineno">3986</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L3987"></a><tt class="py-lineno">3987</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_exclusive"></a><div id="ETreeC14NTestCase.test_c14n_exclusive-def"><a name="L3988"></a><tt class="py-lineno">3988</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_exclusive-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_exclusive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_exclusive">test_c14n_exclusive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_exclusive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_exclusive-expanded"><a name="L3989"></a><tt class="py-lineno">3989</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-4104" 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-4128', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4129" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4129', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L3999"></a><tt class="py-lineno">3999</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4000"></a><tt class="py-lineno">4000</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="L4001"></a><tt class="py-lineno">4001</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4130" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4130', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L4002"></a><tt class="py-lineno">4002</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4003"></a><tt class="py-lineno">4003</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4131" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4131', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4004"></a><tt class="py-lineno">4004</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4005"></a><tt class="py-lineno">4005</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="L4006"></a><tt class="py-lineno">4006</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4132" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4132', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L4007"></a><tt class="py-lineno">4007</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4008"></a><tt class="py-lineno">4008</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4133" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4133', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4009"></a><tt class="py-lineno">4009</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4010"></a><tt class="py-lineno">4010</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="L4011"></a><tt class="py-lineno">4011</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4134" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4134', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L4012"></a><tt class="py-lineno">4012</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4013"></a><tt class="py-lineno">4013</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4135" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4135', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4014"></a><tt class="py-lineno">4014</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4015"></a><tt class="py-lineno">4015</tt>  <tt class="py-line"> </tt>
-<a name="L4016"></a><tt class="py-lineno">4016</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="L4017"></a><tt class="py-lineno">4017</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4136" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4136', 'write_c14n', 'link-4050');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'z'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4018"></a><tt class="py-lineno">4018</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4019"></a><tt class="py-lineno">4019</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4137" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4137', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4020"></a><tt class="py-lineno">4020</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4021"></a><tt class="py-lineno">4021</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_tostring_exclusive"></a><div id="ETreeC14NTestCase.test_c14n_tostring_exclusive-def"><a name="L4022"></a><tt class="py-lineno">4022</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_tostring_exclusive-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_tostring_exclusive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_exclusive">test_c14n_tostring_exclusive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_tostring_exclusive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_tostring_exclusive-expanded"><a name="L4023"></a><tt class="py-lineno">4023</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-4138" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4104', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4105" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4105', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L3990"></a><tt class="py-lineno">3990</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L3991"></a><tt class="py-lineno">3991</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="L3992"></a><tt class="py-lineno">3992</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4106" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4106', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L3993"></a><tt class="py-lineno">3993</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L3994"></a><tt class="py-lineno">3994</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4107" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4107', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L3995"></a><tt class="py-lineno">3995</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L3996"></a><tt class="py-lineno">3996</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="L3997"></a><tt class="py-lineno">3997</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4108" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4108', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L3998"></a><tt class="py-lineno">3998</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L3999"></a><tt class="py-lineno">3999</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4109" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4109', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4000"></a><tt class="py-lineno">4000</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4001"></a><tt class="py-lineno">4001</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="L4002"></a><tt class="py-lineno">4002</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4110" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4110', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L4003"></a><tt class="py-lineno">4003</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L4004"></a><tt class="py-lineno">4004</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4111" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4111', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4005"></a><tt class="py-lineno">4005</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4006"></a><tt class="py-lineno">4006</tt>  <tt class="py-line"> </tt>
+<a name="L4007"></a><tt class="py-lineno">4007</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="L4008"></a><tt class="py-lineno">4008</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4112" class="py-name"><a title="lxml.etree._ElementTree.write_c14n" class="py-name" href="#" onclick="return doclink('link-4112', 'write_c14n', 'link-4026');">write_c14n</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'z'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4009"></a><tt class="py-lineno">4009</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L4010"></a><tt class="py-lineno">4010</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4113" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4113', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4011"></a><tt class="py-lineno">4011</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4012"></a><tt class="py-lineno">4012</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_tostring_exclusive"></a><div id="ETreeC14NTestCase.test_c14n_tostring_exclusive-def"><a name="L4013"></a><tt class="py-lineno">4013</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_tostring_exclusive-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_tostring_exclusive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_exclusive">test_c14n_tostring_exclusive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_tostring_exclusive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_tostring_exclusive-expanded"><a name="L4014"></a><tt class="py-lineno">4014</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-4114" 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-4138', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4139" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4139', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4024"></a><tt class="py-lineno">4024</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4025"></a><tt class="py-lineno">4025</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4140" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4114', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4115" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4115', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4015"></a><tt class="py-lineno">4015</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4016"></a><tt class="py-lineno">4016</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4116" 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-4140', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4141" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4141', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4142" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4142', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4026"></a><tt class="py-lineno">4026</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4143" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4143', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4027"></a><tt class="py-lineno">4027</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4028"></a><tt class="py-lineno">4028</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4144" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4116', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4117" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4117', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4118" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4118', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4017"></a><tt class="py-lineno">4017</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4119" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4119', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4018"></a><tt class="py-lineno">4018</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4019"></a><tt class="py-lineno">4019</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4120" 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-4144', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4145" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4145', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4146" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4146', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L4029"></a><tt class="py-lineno">4029</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4147" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4147', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4030"></a><tt class="py-lineno">4030</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4031"></a><tt class="py-lineno">4031</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4148" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4120', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4121" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4121', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4122" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4122', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L4020"></a><tt class="py-lineno">4020</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4123" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4123', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4021"></a><tt class="py-lineno">4021</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4022"></a><tt class="py-lineno">4022</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4124" 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-4148', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4149" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4149', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4150" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4150', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L4032"></a><tt class="py-lineno">4032</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4151" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4151', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4033"></a><tt class="py-lineno">4033</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4034"></a><tt class="py-lineno">4034</tt>  <tt class="py-line"> </tt>
-<a name="L4035"></a><tt class="py-lineno">4035</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4152" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4124', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4125" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4125', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4126" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4126', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L4023"></a><tt class="py-lineno">4023</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4127" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4127', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4024"></a><tt class="py-lineno">4024</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4025"></a><tt class="py-lineno">4025</tt>  <tt class="py-line"> </tt>
+<a name="L4026"></a><tt class="py-lineno">4026</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4128" 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-4152', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4153" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4153', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4154" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4154', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'y'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4036"></a><tt class="py-lineno">4036</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4155" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4155', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4037"></a><tt class="py-lineno">4037</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4038"></a><tt class="py-lineno">4038</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_element_tostring_exclusive"></a><div id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-def"><a name="L4039"></a><tt class="py-lineno">4039</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_element_tostring_exclusive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_element_tostring_exclusive">test_c14n_element_tostring_exclusive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-expanded"><a name="L4040"></a><tt class="py-lineno">4040</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-4156" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4128', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4129" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4129', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4130" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4130', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'y'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4027"></a><tt class="py-lineno">4027</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4131" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4131', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4028"></a><tt class="py-lineno">4028</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4029"></a><tt class="py-lineno">4029</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_element_tostring_exclusive"></a><div id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-def"><a name="L4030"></a><tt class="py-lineno">4030</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_element_tostring_exclusive');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_element_tostring_exclusive">test_c14n_element_tostring_exclusive</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_element_tostring_exclusive-expanded"><a name="L4031"></a><tt class="py-lineno">4031</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-4132" 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-4156', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4157" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4157', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4041"></a><tt class="py-lineno">4041</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4042"></a><tt class="py-lineno">4042</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4158" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4132', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4133" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4133', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4032"></a><tt class="py-lineno">4032</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4033"></a><tt class="py-lineno">4033</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4134" 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-4158', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4159" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4159', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4160" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4160', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4161" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4161', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4043"></a><tt class="py-lineno">4043</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4162" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4162', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4044"></a><tt class="py-lineno">4044</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4045"></a><tt class="py-lineno">4045</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4163" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4134', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4135" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4135', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4136" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4136', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4137" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4137', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4034"></a><tt class="py-lineno">4034</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4138" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4138', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4035"></a><tt class="py-lineno">4035</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4036"></a><tt class="py-lineno">4036</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4139" 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-4163', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4164" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4164', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4165" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4165', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4166" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4166', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L4046"></a><tt class="py-lineno">4046</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4167" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4167', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4047"></a><tt class="py-lineno">4047</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4048"></a><tt class="py-lineno">4048</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4168" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4139', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4140" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4140', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4141" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4141', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4142" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4142', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L4037"></a><tt class="py-lineno">4037</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4143" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4143', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4038"></a><tt class="py-lineno">4038</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4039"></a><tt class="py-lineno">4039</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4144" 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-4168', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4169" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4169', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4170" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4170', 'getroot', 'link-752');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4171" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4171', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L4049"></a><tt class="py-lineno">4049</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4172" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4172', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4050"></a><tt class="py-lineno">4050</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4051"></a><tt class="py-lineno">4051</tt>  <tt class="py-line"> </tt>
-<a name="L4052"></a><tt class="py-lineno">4052</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4173" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4144', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4145" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4145', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4146" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4146', 'getroot', 'link-763');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-4147" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4147', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L4040"></a><tt class="py-lineno">4040</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4148" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4148', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="http://abc"&gt;&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4041"></a><tt class="py-lineno">4041</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4042"></a><tt class="py-lineno">4042</tt>  <tt class="py-line"> </tt>
+<a name="L4043"></a><tt class="py-lineno">4043</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4149" 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-4173', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4174" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4174', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4175" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4175', 'getroot', 'link-752');">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 id="link-4176" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4176', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
-<a name="L4053"></a><tt class="py-lineno">4053</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4177" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4177', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z:b xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;/z:b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4054"></a><tt class="py-lineno">4054</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4055"></a><tt class="py-lineno">4055</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4178" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4149', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4150" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4150', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4151" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4151', 'getroot', 'link-763');">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 id="link-4152" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4152', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L4044"></a><tt class="py-lineno">4044</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4153" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4153', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z:b xmlns="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;/z:b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4045"></a><tt class="py-lineno">4045</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4046"></a><tt class="py-lineno">4046</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4154" 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-4178', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4179" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4179', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4180" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4180', 'getroot', 'link-752');">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 id="link-4181" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4181', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
-<a name="L4056"></a><tt class="py-lineno">4056</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4182" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4182', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4057"></a><tt class="py-lineno">4057</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-<a name="L4058"></a><tt class="py-lineno">4058</tt>  <tt class="py-line"> </tt>
-<a name="L4059"></a><tt class="py-lineno">4059</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4183" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4154', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4155" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4155', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4156" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4156', 'getroot', 'link-763');">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 id="link-4157" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4157', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L4047"></a><tt class="py-lineno">4047</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4158" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4158', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z:b xmlns:z="http://cde"&gt;&lt;/z:b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4048"></a><tt class="py-lineno">4048</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L4049"></a><tt class="py-lineno">4049</tt>  <tt class="py-line"> </tt>
+<a name="L4050"></a><tt class="py-lineno">4050</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4159" 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-4183', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4184" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4184', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4185" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4185', 'getroot', 'link-752');">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 id="link-4186" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4186', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'y'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4060"></a><tt class="py-lineno">4060</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4187" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4187', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z:b xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;/z:b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4061"></a><tt class="py-lineno">4061</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4062"></a><tt class="py-lineno">4062</tt>  <tt class="py-line"> </tt>
-<a name="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes"></a><div id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-def"><a name="L4063"></a><tt class="py-lineno">4063</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_inclusive_ns_prefixes">test_c14n_tostring_inclusive_ns_prefixes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-expanded"><a name="L4064"></a><tt class="py-lineno">4064</tt>  <tt class="py-line">        <tt class="py-docstring">""" Regression test to fix memory allocation issues (use 3+ inclusive NS spaces)"""</tt> </tt>
-<a name="L4065"></a><tt class="py-lineno">4065</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-4188" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4159', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4160" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4160', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4161" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-4161', 'getroot', 'link-763');">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 id="link-4162" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4162', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'y'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4051"></a><tt class="py-lineno">4051</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4163" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4163', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;z:b xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;/z:b&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4052"></a><tt class="py-lineno">4052</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4053"></a><tt class="py-lineno">4053</tt>  <tt class="py-line"> </tt>
+<a name="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes"></a><div id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-def"><a name="L4054"></a><tt class="py-lineno">4054</tt> <a class="py-toggle" href="#" id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-toggle" onclick="return toggle('ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeC14NTestCase-class.html#test_c14n_tostring_inclusive_ns_prefixes">test_c14n_tostring_inclusive_ns_prefixes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeC14NTestCase.test_c14n_tostring_inclusive_ns_prefixes-expanded"><a name="L4055"></a><tt class="py-lineno">4055</tt>  <tt class="py-line">        <tt class="py-docstring">""" Regression test to fix memory allocation issues (use 3+ inclusive NS spaces)"""</tt> </tt>
+<a name="L4056"></a><tt class="py-lineno">4056</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-4164" 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-4188', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4189" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4189', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4066"></a><tt class="py-lineno">4066</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns:x="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4067"></a><tt class="py-lineno">4067</tt>  <tt class="py-line"> </tt>
-<a name="L4068"></a><tt class="py-lineno">4068</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4190" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4164', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4165" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4165', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4057"></a><tt class="py-lineno">4057</tt>  <tt class="py-line">                <tt class="py-string">'&lt;a xmlns:x="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4058"></a><tt class="py-lineno">4058</tt>  <tt class="py-line"> </tt>
+<a name="L4059"></a><tt class="py-lineno">4059</tt>  <tt class="py-line">        <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt id="link-4166" 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-4190', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4191" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4191', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4192" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4192', 'method', 'link-3597');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4069"></a><tt class="py-lineno">4069</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4193" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4193', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4070"></a><tt class="py-lineno">4070</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L4071"></a><tt class="py-lineno">4071</tt>  <tt class="py-line"> </tt>
-<a name="L4072"></a><tt class="py-lineno">4072</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase"></a><div id="ETreeWriteTestCase-def"><a name="L4073"></a><tt class="py-lineno">4073</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase-toggle" onclick="return toggle('ETreeWriteTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</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="ETreeWriteTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeWriteTestCase-expanded"><a name="ETreeWriteTestCase.test_write"></a><div id="ETreeWriteTestCase.test_write-def"><a name="L4074"></a><tt class="py-lineno">4074</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write-toggle" onclick="return toggle('ETreeWriteTestCase.test_write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write">test_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeWriteTestCase.test_write-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write-expanded"><a name="L4075"></a><tt class="py-lineno">4075</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-4194" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4166', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4167" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4167', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt id="link-4168" class="py-name"><a title="lxml.html.FormElement.method" class="py-name" href="#" onclick="return doclink('link-4168', 'method', 'link-3573');">method</a></tt><tt class="py-op">=</tt><tt class="py-string">'c14n'</tt><tt class="py-op">,</tt> <tt class="py-name">exclusive</tt><tt class="py-op">=</tt><tt class="py-name">True</tt><tt class="py-op">,</tt> <tt class="py-name">inclusive_ns_prefixes</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">'x'</tt><tt class="py-op">,</tt> <tt class="py-string">'y'</tt><tt class="py-op">,</tt> <tt class="py-string">'z'</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4060"></a><tt class="py-lineno">4060</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4169" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4169', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns:x="http://abc" xmlns:y="http://bcd" xmlns:z="http://cde"&gt;&lt;z:b&gt;&lt;/z:b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4061"></a><tt class="py-lineno">4061</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L4062"></a><tt class="py-lineno">4062</tt>  <tt class="py-line"> </tt>
+<a name="L4063"></a><tt class="py-lineno">4063</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase"></a><div id="ETreeWriteTestCase-def"><a name="L4064"></a><tt class="py-lineno">4064</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase-toggle" onclick="return toggle('ETreeWriteTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html">ETreeWriteTestCase</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="ETreeWriteTestCase-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeWriteTestCase-expanded"><a name="ETreeWriteTestCase.test_write"></a><div id="ETreeWriteTestCase.test_write-def"><a name="L4065"></a><tt class="py-lineno">4065</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write-toggle" onclick="return toggle('ETreeWriteTestCase.test_write');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write">test_write</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeWriteTestCase.test_write-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write-expanded"><a name="L4066"></a><tt class="py-lineno">4066</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-4170" 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-4194', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4195" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4195', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4076"></a><tt class="py-lineno">4076</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="L4077"></a><tt class="py-lineno">4077</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4196" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4196', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L4078"></a><tt class="py-lineno">4078</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4079"></a><tt class="py-lineno">4079</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4197" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4197', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4080"></a><tt class="py-lineno">4080</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4081"></a><tt class="py-lineno">4081</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase.test_write_gzip"></a><div id="ETreeWriteTestCase.test_write_gzip-def"><a name="L4082"></a><tt class="py-lineno">4082</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_gzip-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_gzip">test_write_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeWriteTestCase.test_write_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_gzip-expanded"><a name="L4083"></a><tt class="py-lineno">4083</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-4198" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4170', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4171" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4171', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4067"></a><tt class="py-lineno">4067</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="L4068"></a><tt class="py-lineno">4068</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4172" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4172', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L4069"></a><tt class="py-lineno">4069</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L4070"></a><tt class="py-lineno">4070</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4173" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4173', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4071"></a><tt class="py-lineno">4071</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4072"></a><tt class="py-lineno">4072</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase.test_write_gzip"></a><div id="ETreeWriteTestCase.test_write_gzip-def"><a name="L4073"></a><tt class="py-lineno">4073</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_gzip-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_gzip">test_write_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeWriteTestCase.test_write_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_gzip-expanded"><a name="L4074"></a><tt class="py-lineno">4074</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-4174" 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-4198', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4199" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4199', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4084"></a><tt class="py-lineno">4084</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="L4085"></a><tt class="py-lineno">4085</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4200" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4200', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L4086"></a><tt class="py-lineno">4086</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</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>
-<a name="L4087"></a><tt class="py-lineno">4087</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4088"></a><tt class="py-lineno">4088</tt>  <tt class="py-line">            <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4201" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
-lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4201', 'read', 'link-4055');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4089"></a><tt class="py-lineno">4089</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4090"></a><tt class="py-lineno">4090</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4202" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4174', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4175" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4175', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4075"></a><tt class="py-lineno">4075</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="L4076"></a><tt class="py-lineno">4076</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4176" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4176', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L4077"></a><tt class="py-lineno">4077</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</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>
+<a name="L4078"></a><tt class="py-lineno">4078</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4079"></a><tt class="py-lineno">4079</tt>  <tt class="py-line">            <tt class="py-name">s</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4177" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
+lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4177', 'read', 'link-4031');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4080"></a><tt class="py-lineno">4080</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4081"></a><tt class="py-lineno">4081</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4178" class="py-name"><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-4202', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4091"></a><tt class="py-lineno">4091</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4203" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4203', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4092"></a><tt class="py-lineno">4092</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4093"></a><tt class="py-lineno">4093</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase.test_write_gzip_level"></a><div id="ETreeWriteTestCase.test_write_gzip_level-def"><a name="L4094"></a><tt class="py-lineno">4094</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_gzip_level-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_gzip_level');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_gzip_level">test_write_gzip_level</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeWriteTestCase.test_write_gzip_level-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_gzip_level-expanded"><a name="L4095"></a><tt class="py-lineno">4095</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-4204" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4178', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4082"></a><tt class="py-lineno">4082</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4179" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4179', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4083"></a><tt class="py-lineno">4083</tt>  <tt class="py-line">                          <tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4084"></a><tt class="py-lineno">4084</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase.test_write_gzip_level"></a><div id="ETreeWriteTestCase.test_write_gzip_level-def"><a name="L4085"></a><tt class="py-lineno">4085</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_gzip_level-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_gzip_level');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_gzip_level">test_write_gzip_level</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeWriteTestCase.test_write_gzip_level-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_gzip_level-expanded"><a name="L4086"></a><tt class="py-lineno">4086</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-4180" 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-4204', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4205" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4205', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4096"></a><tt class="py-lineno">4096</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="L4097"></a><tt class="py-lineno">4097</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4206" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4206', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
-<a name="L4098"></a><tt class="py-lineno">4098</tt>  <tt class="py-line">        <tt class="py-name">s0</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>
-<a name="L4099"></a><tt class="py-lineno">4099</tt>  <tt class="py-line"> </tt>
-<a name="L4100"></a><tt class="py-lineno">4100</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="L4101"></a><tt class="py-lineno">4101</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4207" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4207', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L4102"></a><tt class="py-lineno">4102</tt>  <tt class="py-line">        <tt 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">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-name">s0</tt><tt class="py-op">)</tt> </tt>
-<a name="L4103"></a><tt class="py-lineno">4103</tt>  <tt class="py-line"> </tt>
-<a name="L4104"></a><tt class="py-lineno">4104</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="L4105"></a><tt class="py-lineno">4105</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4208" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4208', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
-<a name="L4106"></a><tt class="py-lineno">4106</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4107"></a><tt class="py-lineno">4107</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">s</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4108"></a><tt class="py-lineno">4108</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4109"></a><tt class="py-lineno">4109</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4110"></a><tt class="py-lineno">4110</tt>  <tt class="py-line">            <tt class="py-name">s1</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4209" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
-lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4209', 'read', 'link-4055');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4111"></a><tt class="py-lineno">4111</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4112"></a><tt class="py-lineno">4112</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4210" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4180', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4181" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4181', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4087"></a><tt class="py-lineno">4087</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="L4088"></a><tt class="py-lineno">4088</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4182" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4182', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L4089"></a><tt class="py-lineno">4089</tt>  <tt class="py-line">        <tt class="py-name">s0</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>
+<a name="L4090"></a><tt class="py-lineno">4090</tt>  <tt class="py-line"> </tt>
+<a name="L4091"></a><tt class="py-lineno">4091</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="L4092"></a><tt class="py-lineno">4092</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4183" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4183', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L4093"></a><tt class="py-lineno">4093</tt>  <tt class="py-line">        <tt 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">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-name">s0</tt><tt class="py-op">)</tt> </tt>
+<a name="L4094"></a><tt class="py-lineno">4094</tt>  <tt class="py-line"> </tt>
+<a name="L4095"></a><tt class="py-lineno">4095</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="L4096"></a><tt class="py-lineno">4096</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4184" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4184', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L4097"></a><tt class="py-lineno">4097</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L4098"></a><tt class="py-lineno">4098</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">s</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4099"></a><tt class="py-lineno">4099</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4100"></a><tt class="py-lineno">4100</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4101"></a><tt class="py-lineno">4101</tt>  <tt class="py-line">            <tt class="py-name">s1</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4185" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
+lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4185', 'read', 'link-4031');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4102"></a><tt class="py-lineno">4102</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4103"></a><tt class="py-lineno">4103</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4186" class="py-name"><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-4210', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4113"></a><tt class="py-lineno">4113</tt>  <tt class="py-line"> </tt>
-<a name="L4114"></a><tt class="py-lineno">4114</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="L4115"></a><tt class="py-lineno">4115</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4211" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4211', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L4116"></a><tt class="py-lineno">4116</tt>  <tt class="py-line">        <tt class="py-name">s</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>
-<a name="L4117"></a><tt class="py-lineno">4117</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">s</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4118"></a><tt class="py-lineno">4118</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4119"></a><tt class="py-lineno">4119</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4120"></a><tt class="py-lineno">4120</tt>  <tt class="py-line">            <tt class="py-name">s9</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4212" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
-lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4212', 'read', 'link-4055');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4121"></a><tt class="py-lineno">4121</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4122"></a><tt class="py-lineno">4122</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4213" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4186', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4104"></a><tt class="py-lineno">4104</tt>  <tt class="py-line"> </tt>
+<a name="L4105"></a><tt class="py-lineno">4105</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="L4106"></a><tt class="py-lineno">4106</tt>  <tt class="py-line">        <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4187" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4187', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L4107"></a><tt class="py-lineno">4107</tt>  <tt class="py-line">        <tt class="py-name">s</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>
+<a name="L4108"></a><tt class="py-lineno">4108</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">s</tt><tt class="py-op">)</tt> <tt class="py-op">&lt;=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">s0</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4109"></a><tt class="py-lineno">4109</tt>  <tt class="py-line">        <tt class="py-name">gzfile</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt class="py-name">fileobj</tt><tt class="py-op">=</tt><tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4110"></a><tt class="py-lineno">4110</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4111"></a><tt class="py-lineno">4111</tt>  <tt class="py-line">            <tt class="py-name">s9</tt> <tt class="py-op">=</tt> <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4188" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
+lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4188', 'read', 'link-4031');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4112"></a><tt class="py-lineno">4112</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4113"></a><tt class="py-lineno">4113</tt>  <tt class="py-line">            <tt class="py-name">gzfile</tt><tt class="py-op">.</tt><tt id="link-4189" class="py-name"><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-4213', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4123"></a><tt class="py-lineno">4123</tt>  <tt class="py-line"> </tt>
-<a name="L4124"></a><tt class="py-lineno">4124</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4214" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4214', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4125"></a><tt class="py-lineno">4125</tt>  <tt class="py-line">                          <tt class="py-name">s0</tt><tt class="py-op">)</tt> </tt>
-<a name="L4126"></a><tt class="py-lineno">4126</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4215" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4215', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4127"></a><tt class="py-lineno">4127</tt>  <tt class="py-line">                          <tt class="py-name">s1</tt><tt class="py-op">)</tt> </tt>
-<a name="L4128"></a><tt class="py-lineno">4128</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4216" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4216', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4129"></a><tt class="py-lineno">4129</tt>  <tt class="py-line">                          <tt class="py-name">s9</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4130"></a><tt class="py-lineno">4130</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase.test_write_file"></a><div id="ETreeWriteTestCase.test_write_file-def"><a name="L4131"></a><tt class="py-lineno">4131</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file">test_write_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeWriteTestCase.test_write_file-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file-expanded"><a name="L4132"></a><tt class="py-lineno">4132</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-4217" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4189', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4114"></a><tt class="py-lineno">4114</tt>  <tt class="py-line"> </tt>
+<a name="L4115"></a><tt class="py-lineno">4115</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4190" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4190', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4116"></a><tt class="py-lineno">4116</tt>  <tt class="py-line">                          <tt class="py-name">s0</tt><tt class="py-op">)</tt> </tt>
+<a name="L4117"></a><tt class="py-lineno">4117</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4191" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4191', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4118"></a><tt class="py-lineno">4118</tt>  <tt class="py-line">                          <tt class="py-name">s1</tt><tt class="py-op">)</tt> </tt>
+<a name="L4119"></a><tt class="py-lineno">4119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4192" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4192', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4120"></a><tt class="py-lineno">4120</tt>  <tt class="py-line">                          <tt class="py-name">s9</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4121"></a><tt class="py-lineno">4121</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase.test_write_file"></a><div id="ETreeWriteTestCase.test_write_file-def"><a name="L4122"></a><tt class="py-lineno">4122</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file">test_write_file</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeWriteTestCase.test_write_file-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file-expanded"><a name="L4123"></a><tt class="py-lineno">4123</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-4193" 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-4217', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4218" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4218', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4133"></a><tt class="py-lineno">4133</tt>  <tt class="py-line">        <tt id="link-4219" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4193', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4194" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4194', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4124"></a><tt class="py-lineno">4124</tt>  <tt class="py-line">        <tt id="link-4195" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4219', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4220" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4220', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4134"></a><tt class="py-lineno">4134</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4135"></a><tt class="py-lineno">4135</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4221" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4221', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt id="link-4222" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4222', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4136"></a><tt class="py-lineno">4136</tt>  <tt class="py-line">            <tt id="link-4223" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4223', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4224" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-4224', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-4225" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4225', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4137"></a><tt class="py-lineno">4137</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4138"></a><tt class="py-lineno">4138</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4226" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4195', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4196" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4196', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4125"></a><tt class="py-lineno">4125</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4126"></a><tt class="py-lineno">4126</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4197" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4197', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt id="link-4198" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4198', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4127"></a><tt class="py-lineno">4127</tt>  <tt class="py-line">            <tt id="link-4199" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4199', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4200" class="py-name"><a title="lxml.tests.common_imports.read_file" class="py-name" href="#" onclick="return doclink('link-4200', 'read_file', 'link-15');">read_file</a></tt><tt class="py-op">(</tt><tt id="link-4201" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4201', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4128"></a><tt class="py-lineno">4128</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4129"></a><tt class="py-lineno">4129</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4202" class="py-name"><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-4226', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4227" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4202', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4203" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4227', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4139"></a><tt class="py-lineno">4139</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4228" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4203', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4130"></a><tt class="py-lineno">4130</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4204" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4228', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4229" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4229', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4140"></a><tt class="py-lineno">4140</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4230" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4230', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4141"></a><tt class="py-lineno">4141</tt>  <tt class="py-line">                          <tt id="link-4231" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4231', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4142"></a><tt class="py-lineno">4142</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase.test_write_file_gzip"></a><div id="ETreeWriteTestCase.test_write_file_gzip-def"><a name="L4143"></a><tt class="py-lineno">4143</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file_gzip-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzip">test_write_file_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeWriteTestCase.test_write_file_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file_gzip-expanded"><a name="L4144"></a><tt class="py-lineno">4144</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-4232" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4204', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4205" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4205', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4131"></a><tt class="py-lineno">4131</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4206" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4206', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4132"></a><tt class="py-lineno">4132</tt>  <tt class="py-line">                          <tt id="link-4207" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4207', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4133"></a><tt class="py-lineno">4133</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase.test_write_file_gzip"></a><div id="ETreeWriteTestCase.test_write_file_gzip-def"><a name="L4134"></a><tt class="py-lineno">4134</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file_gzip-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file_gzip');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzip">test_write_file_gzip</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeWriteTestCase.test_write_file_gzip-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file_gzip-expanded"><a name="L4135"></a><tt class="py-lineno">4135</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-4208" 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-4232', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4233" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4233', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4145"></a><tt class="py-lineno">4145</tt>  <tt class="py-line">        <tt id="link-4234" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4208', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4209" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4209', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4136"></a><tt class="py-lineno">4136</tt>  <tt class="py-line">        <tt id="link-4210" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4234', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4235" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4235', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4146"></a><tt class="py-lineno">4146</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4147"></a><tt class="py-lineno">4147</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4236" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4236', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt id="link-4237" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4237', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L4148"></a><tt class="py-lineno">4148</tt>  <tt class="py-line">            <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-4238" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4238', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4149"></a><tt class="py-lineno">4149</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4150"></a><tt class="py-lineno">4150</tt>  <tt class="py-line">                <tt id="link-4239" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4239', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4240" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
-lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4240', 'read', 'link-4055');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4151"></a><tt class="py-lineno">4151</tt>  <tt class="py-line">            <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4152"></a><tt class="py-lineno">4152</tt>  <tt class="py-line">                <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4241" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4210', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4211" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4211', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4137"></a><tt class="py-lineno">4137</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4138"></a><tt class="py-lineno">4138</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4212" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4212', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt id="link-4213" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4213', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L4139"></a><tt class="py-lineno">4139</tt>  <tt class="py-line">            <tt class="py-name">f</tt> <tt class="py-op">=</tt> <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt id="link-4214" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4214', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-string">'rb'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4140"></a><tt class="py-lineno">4140</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4141"></a><tt class="py-lineno">4141</tt>  <tt class="py-line">                <tt id="link-4215" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4215', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4216" class="py-name"><a title="lxml.tests.common_imports.LargeFileLike.read
+lxml.tests.common_imports.SillyFileLike.read" class="py-name" href="#" onclick="return doclink('link-4216', 'read', 'link-4031');">read</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4142"></a><tt class="py-lineno">4142</tt>  <tt class="py-line">            <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4143"></a><tt class="py-lineno">4143</tt>  <tt class="py-line">                <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4217" class="py-name"><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-4241', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4153"></a><tt class="py-lineno">4153</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4154"></a><tt class="py-lineno">4154</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4242" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4217', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4144"></a><tt class="py-lineno">4144</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4145"></a><tt class="py-lineno">4145</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4218" class="py-name"><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-4242', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4243" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4218', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4219" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4243', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4155"></a><tt class="py-lineno">4155</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4244" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4219', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4146"></a><tt class="py-lineno">4146</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4220" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4244', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4245" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4245', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4156"></a><tt class="py-lineno">4156</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4246" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4246', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4157"></a><tt class="py-lineno">4157</tt>  <tt class="py-line">                          <tt id="link-4247" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4247', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4158"></a><tt class="py-lineno">4158</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase.test_write_file_gzip_parse"></a><div id="ETreeWriteTestCase.test_write_file_gzip_parse-def"><a name="L4159"></a><tt class="py-lineno">4159</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file_gzip_parse-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file_gzip_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzip_parse">test_write_file_gzip_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="ETreeWriteTestCase.test_write_file_gzip_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file_gzip_parse-expanded"><a name="L4160"></a><tt class="py-lineno">4160</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-4248" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4220', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4221" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4221', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4147"></a><tt class="py-lineno">4147</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4222" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4222', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4148"></a><tt class="py-lineno">4148</tt>  <tt class="py-line">                          <tt id="link-4223" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4223', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4149"></a><tt class="py-lineno">4149</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase.test_write_file_gzip_parse"></a><div id="ETreeWriteTestCase.test_write_file_gzip_parse-def"><a name="L4150"></a><tt class="py-lineno">4150</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file_gzip_parse-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file_gzip_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzip_parse">test_write_file_gzip_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="ETreeWriteTestCase.test_write_file_gzip_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file_gzip_parse-expanded"><a name="L4151"></a><tt class="py-lineno">4151</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-4224" 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-4248', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4249" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4249', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4161"></a><tt class="py-lineno">4161</tt>  <tt class="py-line">        <tt id="link-4250" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4224', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4225" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4225', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4152"></a><tt class="py-lineno">4152</tt>  <tt class="py-line">        <tt id="link-4226" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4250', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4251" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4251', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4162"></a><tt class="py-lineno">4162</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4163"></a><tt class="py-lineno">4163</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4252" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4252', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt id="link-4253" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4253', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L4164"></a><tt class="py-lineno">4164</tt>  <tt class="py-line">            <tt id="link-4254" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4254', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4255" class="py-name"><a title="lxml.etree
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4226', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4227" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4227', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4153"></a><tt class="py-lineno">4153</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4154"></a><tt class="py-lineno">4154</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4228" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4228', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt id="link-4229" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4229', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L4155"></a><tt class="py-lineno">4155</tt>  <tt class="py-line">            <tt id="link-4230" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4230', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4231" 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-4255', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4256" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4256', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-4257" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4231', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4232" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4232', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-4233" 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-4257', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4258" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4233', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4234" 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-4258', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4259" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4259', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4165"></a><tt class="py-lineno">4165</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4166"></a><tt class="py-lineno">4166</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4260" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4234', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4235" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4235', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4156"></a><tt class="py-lineno">4156</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4157"></a><tt class="py-lineno">4157</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4236" class="py-name"><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-4260', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4261" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4236', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4237" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4261', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4167"></a><tt class="py-lineno">4167</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4262" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4237', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4158"></a><tt class="py-lineno">4158</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4238" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4262', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4263" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4263', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4168"></a><tt class="py-lineno">4168</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4264" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4264', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4169"></a><tt class="py-lineno">4169</tt>  <tt class="py-line">                          <tt id="link-4265" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4265', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4170"></a><tt class="py-lineno">4170</tt>  <tt class="py-line"> </tt>
-<a name="ETreeWriteTestCase.test_write_file_gzipfile_parse"></a><div id="ETreeWriteTestCase.test_write_file_gzipfile_parse-def"><a name="L4171"></a><tt class="py-lineno">4171</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file_gzipfile_parse-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file_gzipfile_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzipfile_parse">test_write_file_gzipfile_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="ETreeWriteTestCase.test_write_file_gzipfile_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file_gzipfile_parse-expanded"><a name="L4172"></a><tt class="py-lineno">4172</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-4266" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4238', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4239" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4239', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4159"></a><tt class="py-lineno">4159</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4240" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4240', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4160"></a><tt class="py-lineno">4160</tt>  <tt class="py-line">                          <tt id="link-4241" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4241', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4161"></a><tt class="py-lineno">4161</tt>  <tt class="py-line"> </tt>
+<a name="ETreeWriteTestCase.test_write_file_gzipfile_parse"></a><div id="ETreeWriteTestCase.test_write_file_gzipfile_parse-def"><a name="L4162"></a><tt class="py-lineno">4162</tt> <a class="py-toggle" href="#" id="ETreeWriteTestCase.test_write_file_gzipfile_parse-toggle" onclick="return toggle('ETreeWriteTestCase.test_write_file_gzipfile_parse');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeWriteTestCase-class.html#test_write_file_gzipfile_parse">test_write_file_gzipfile_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="ETreeWriteTestCase.test_write_file_gzipfile_parse-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeWriteTestCase.test_write_file_gzipfile_parse-expanded"><a name="L4163"></a><tt class="py-lineno">4163</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-4242" 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-4266', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4267" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4267', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4173"></a><tt class="py-lineno">4173</tt>  <tt class="py-line">        <tt id="link-4268" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4242', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt id="link-4243" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4243', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4164"></a><tt class="py-lineno">4164</tt>  <tt class="py-line">        <tt id="link-4244" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4268', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4269" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4269', 'filename', 'link-3971');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4174"></a><tt class="py-lineno">4174</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4175"></a><tt class="py-lineno">4175</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4270" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4270', 'write', 'link-3963');">write</a></tt><tt class="py-op">(</tt><tt id="link-4271" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4271', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
-<a name="L4176"></a><tt class="py-lineno">4176</tt>  <tt class="py-line">            <tt id="link-4272" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4272', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4273" class="py-name"><a title="lxml.etree
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4244', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">,</tt> <tt id="link-4245" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4245', 'filename', 'link-3947');">filename</a></tt> <tt class="py-op">=</tt> <tt class="py-name">tempfile</tt><tt class="py-op">.</tt><tt class="py-name">mkstemp</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4165"></a><tt class="py-lineno">4165</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4166"></a><tt class="py-lineno">4166</tt>  <tt class="py-line">            <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-4246" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-4246', 'write', 'link-3939');">write</a></tt><tt class="py-op">(</tt><tt id="link-4247" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4247', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">,</tt> <tt class="py-name">compression</tt><tt class="py-op">=</tt><tt class="py-number">9</tt><tt class="py-op">)</tt> </tt>
+<a name="L4167"></a><tt class="py-lineno">4167</tt>  <tt class="py-line">            <tt id="link-4248" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4248', 'data', 'link-1089');">data</a></tt> <tt class="py-op">=</tt> <tt id="link-4249" 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-4273', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4274" class="py-name"><a title="lxml.etree.XSLT.tostring
-lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4274', 'tostring', 'link-649');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-4275" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4249', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4250" class="py-name"><a title="lxml.etree.XSLT.tostring
+lxml.etree.tostring" class="py-name" href="#" onclick="return doclink('link-4250', 'tostring', 'link-660');">tostring</a></tt><tt class="py-op">(</tt><tt id="link-4251" 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-4275', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4276" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4251', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4252" 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-4276', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4177"></a><tt class="py-lineno">4177</tt>  <tt class="py-line">                <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt id="link-4277" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4277', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4178"></a><tt class="py-lineno">4178</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
-<a name="L4179"></a><tt class="py-lineno">4179</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4278" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4252', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4168"></a><tt class="py-lineno">4168</tt>  <tt class="py-line">                <tt class="py-name">gzip</tt><tt class="py-op">.</tt><tt class="py-name">GzipFile</tt><tt class="py-op">(</tt><tt id="link-4253" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4253', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4169"></a><tt class="py-lineno">4169</tt>  <tt class="py-line">        <tt class="py-keyword">finally</tt><tt class="py-op">:</tt> </tt>
+<a name="L4170"></a><tt class="py-lineno">4170</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4254" class="py-name"><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-4278', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4279" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4254', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt id="link-4255" class="py-name"><a title="lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker.handle
 lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker.handle
-lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4279', 'handle', 'link-4060');">handle</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4180"></a><tt class="py-lineno">4180</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4280" class="py-name"><a title="lxml.etree._Element.remove
+lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker.handle" class="py-name" href="#" onclick="return doclink('link-4255', 'handle', 'link-4036');">handle</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4171"></a><tt class="py-lineno">4171</tt>  <tt class="py-line">            <tt class="py-name">os</tt><tt class="py-op">.</tt><tt id="link-4256" class="py-name"><a title="lxml.etree._Element.remove
 lxml.html.CheckboxValues.remove
-lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4280', 'remove', 'link-659');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4281" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4281', 'filename', 'link-3971');">filename</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4181"></a><tt class="py-lineno">4181</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4282" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4282', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L4182"></a><tt class="py-lineno">4182</tt>  <tt class="py-line">                          <tt id="link-4283" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4283', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L4183"></a><tt class="py-lineno">4183</tt>  <tt class="py-line"> </tt>
-<a name="ETreeErrorLogTest"></a><div id="ETreeErrorLogTest-def"><a name="L4184"></a><tt class="py-lineno">4184</tt> <a class="py-toggle" href="#" id="ETreeErrorLogTest-toggle" onclick="return toggle('ETreeErrorLogTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</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="ETreeErrorLogTest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeErrorLogTest-expanded"><a name="L4185"></a><tt class="py-lineno">4185</tt>  <tt class="py-line">    <tt id="link-4284" class="py-name"><a title="lxml.etree
+lxml.html.MultipleSelectOptions.remove" class="py-name" href="#" onclick="return doclink('link-4256', 'remove', 'link-670');">remove</a></tt><tt class="py-op">(</tt><tt id="link-4257" class="py-name"><a title="lxml.etree._LogEntry.filename" class="py-name" href="#" onclick="return doclink('link-4257', 'filename', 'link-3947');">filename</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4172"></a><tt class="py-lineno">4172</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-4258" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-4258', '_bytes', 'link-24');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;'</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">*</tt><tt class="py-number">200</tt><tt class="py-op">+</tt><tt class="py-string">'&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L4173"></a><tt class="py-lineno">4173</tt>  <tt class="py-line">                          <tt id="link-4259" class="py-name"><a title="lxml.etree.TreeBuilder.data" class="py-name" href="#" onclick="return doclink('link-4259', 'data', 'link-1089');">data</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L4174"></a><tt class="py-lineno">4174</tt>  <tt class="py-line"> </tt>
+<a name="ETreeErrorLogTest"></a><div id="ETreeErrorLogTest-def"><a name="L4175"></a><tt class="py-lineno">4175</tt> <a class="py-toggle" href="#" id="ETreeErrorLogTest-toggle" onclick="return toggle('ETreeErrorLogTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeErrorLogTest-class.html">ETreeErrorLogTest</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="ETreeErrorLogTest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ETreeErrorLogTest-expanded"><a name="L4176"></a><tt class="py-lineno">4176</tt>  <tt class="py-line">    <tt id="link-4260" 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-4284', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt id="link-4285" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4260', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt id="link-4261" 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-4285', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L4186"></a><tt class="py-lineno">4186</tt>  <tt class="py-line"> </tt>
-<a name="ETreeErrorLogTest.test_parse_error_logging"></a><div id="ETreeErrorLogTest.test_parse_error_logging-def"><a name="L4187"></a><tt class="py-lineno">4187</tt> <a class="py-toggle" href="#" id="ETreeErrorLogTest.test_parse_error_logging-toggle" onclick="return toggle('ETreeErrorLogTest.test_parse_error_logging');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeErrorLogTest-class.html#test_parse_error_logging">test_parse_error_logging</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeErrorLogTest.test_parse_error_logging-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeErrorLogTest.test_parse_error_logging-expanded"><a name="L4188"></a><tt class="py-lineno">4188</tt>  <tt class="py-line">        <tt id="link-4286" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4261', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L4177"></a><tt class="py-lineno">4177</tt>  <tt class="py-line"> </tt>
+<a name="ETreeErrorLogTest.test_parse_error_logging"></a><div id="ETreeErrorLogTest.test_parse_error_logging-def"><a name="L4178"></a><tt class="py-lineno">4178</tt> <a class="py-toggle" href="#" id="ETreeErrorLogTest.test_parse_error_logging-toggle" onclick="return toggle('ETreeErrorLogTest.test_parse_error_logging');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeErrorLogTest-class.html#test_parse_error_logging">test_parse_error_logging</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeErrorLogTest.test_parse_error_logging-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeErrorLogTest.test_parse_error_logging-expanded"><a name="L4179"></a><tt class="py-lineno">4179</tt>  <tt class="py-line">        <tt id="link-4262" 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-4286', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4287" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4262', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4263" 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-4287', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4288" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4263', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4264" 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-4288', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L4189"></a><tt class="py-lineno">4189</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-string">'&lt;a&gt;&lt;b&gt;&lt;/c&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4190"></a><tt class="py-lineno">4190</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4289" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4264', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L4180"></a><tt class="py-lineno">4180</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-string">'&lt;a&gt;&lt;b&gt;&lt;/c&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4181"></a><tt class="py-lineno">4181</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4265" 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-4289', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4290" class="py-name" targets="Function lxml.etree.clear_error_log()=lxml.etree-module.html#clear_error_log"><a title="lxml.etree.clear_error_log" class="py-name" href="#" onclick="return doclink('link-4290', 'clear_error_log', 'link-4290');">clear_error_log</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4191"></a><tt class="py-lineno">4191</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4192"></a><tt class="py-lineno">4192</tt>  <tt class="py-line">            <tt id="link-4291" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4265', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4266" class="py-name" targets="Function lxml.etree.clear_error_log()=lxml.etree-module.html#clear_error_log"><a title="lxml.etree.clear_error_log" class="py-name" href="#" onclick="return doclink('link-4266', 'clear_error_log', 'link-4266');">clear_error_log</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4182"></a><tt class="py-lineno">4182</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4183"></a><tt class="py-lineno">4183</tt>  <tt class="py-line">            <tt id="link-4267" 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-4291', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L4193"></a><tt class="py-lineno">4193</tt>  <tt class="py-line">            <tt class="py-name">logs</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
-<a name="L4194"></a><tt class="py-lineno">4194</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">:</tt> </tt>
-<a name="L4195"></a><tt class="py-lineno">4195</tt>  <tt class="py-line">            <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</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="L4196"></a><tt class="py-lineno">4196</tt>  <tt class="py-line">            <tt class="py-name">logs</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-4292" 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.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4267', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L4184"></a><tt class="py-lineno">4184</tt>  <tt class="py-line">            <tt class="py-name">logs</tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt> </tt>
+<a name="L4185"></a><tt class="py-lineno">4185</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">:</tt> </tt>
+<a name="L4186"></a><tt class="py-lineno">4186</tt>  <tt class="py-line">            <tt class="py-name">e</tt> <tt class="py-op">=</tt> <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exc_info</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="L4187"></a><tt class="py-lineno">4187</tt>  <tt class="py-line">            <tt class="py-name">logs</tt> <tt class="py-op">=</tt> <tt class="py-name">e</tt><tt class="py-op">.</tt><tt id="link-4268" 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-4292', 'error_log', 'link-4292');">error_log</a></tt> </tt>
-<a name="L4197"></a><tt class="py-lineno">4197</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4293" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.etree.iterparse.error_log" class="py-name" href="#" onclick="return doclink('link-4268', 'error_log', 'link-4268');">error_log</a></tt> </tt>
+<a name="L4188"></a><tt class="py-lineno">4188</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4269" class="py-name"><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-4293', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4198"></a><tt class="py-lineno">4198</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-op">[</tt> <tt id="link-4294" class="py-name" targets="Method lxml.etree.PyErrorLog.log()=lxml.etree.PyErrorLog-class.html#log"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4294', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4295" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4295', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
-<a name="L4199"></a><tt class="py-lineno">4199</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'mismatch'</tt> <tt class="py-keyword">in</tt> <tt id="link-4296" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4296', 'log', 'link-4294');">log</a></tt><tt class="py-op">.</tt><tt id="link-4297" 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-4297', 'message', 'link-4297');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4200"></a><tt class="py-lineno">4200</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-op">[</tt> <tt id="link-4298" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4298', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4299" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4299', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
-<a name="L4201"></a><tt class="py-lineno">4201</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'PARSER'</tt>   <tt class="py-keyword">in</tt> <tt id="link-4300" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4300', 'log', 'link-4294');">log</a></tt><tt class="py-op">.</tt><tt id="link-4301" class="py-name" targets="Variable lxml.etree._LogEntry.domain_name=lxml.etree._LogEntry-class.html#domain_name"><a title="lxml.etree._LogEntry.domain_name" class="py-name" href="#" onclick="return doclink('link-4301', 'domain_name', 'link-4301');">domain_name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4202"></a><tt class="py-lineno">4202</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-op">[</tt> <tt id="link-4302" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4302', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4303" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4303', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
-<a name="L4203"></a><tt class="py-lineno">4203</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'ERR_TAG_NAME_MISMATCH'</tt> <tt class="py-keyword">in</tt> <tt id="link-4304" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4304', 'log', 'link-4294');">log</a></tt><tt class="py-op">.</tt><tt id="link-4305" class="py-name" targets="Variable lxml.etree._LogEntry.type_name=lxml.etree._LogEntry-class.html#type_name"><a title="lxml.etree._LogEntry.type_name" class="py-name" href="#" onclick="return doclink('link-4305', 'type_name', 'link-4305');">type_name</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4204"></a><tt class="py-lineno">4204</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-op">[</tt> <tt id="link-4306" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4306', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4307" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4307', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
-<a name="L4205"></a><tt class="py-lineno">4205</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-number">1</tt> <tt class="py-op">==</tt> <tt id="link-4308" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4308', 'log', 'link-4294');">log</a></tt><tt class="py-op">.</tt><tt id="link-4309" class="py-name" targets="Variable lxml.etree._LogEntry.line=lxml.etree._LogEntry-class.html#line"><a title="lxml.etree._LogEntry.line" class="py-name" href="#" onclick="return doclink('link-4309', 'line', 'link-4309');">line</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4206"></a><tt class="py-lineno">4206</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-op">[</tt> <tt id="link-4310" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4310', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4311" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4311', 'log', 'link-4294');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
-<a name="L4207"></a><tt class="py-lineno">4207</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-number">15</tt> <tt class="py-op">==</tt> <tt id="link-4312" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4312', 'log', 'link-4294');">log</a></tt><tt class="py-op">.</tt><tt id="link-4313" class="py-name" targets="Variable lxml.etree._LogEntry.column=lxml.etree._LogEntry-class.html#column"><a title="lxml.etree._LogEntry.column" class="py-name" href="#" onclick="return doclink('link-4313', 'column', 'link-4313');">column</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4208"></a><tt class="py-lineno">4208</tt>  <tt class="py-line"> </tt>
-<a name="ETreeErrorLogTest._test_python_error_logging"></a><div id="ETreeErrorLogTest._test_python_error_logging-def"><a name="L4209"></a><tt class="py-lineno">4209</tt> <a class="py-toggle" href="#" id="ETreeErrorLogTest._test_python_error_logging-toggle" onclick="return toggle('ETreeErrorLogTest._test_python_error_logging');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeErrorLogTest-class.html#_test_python_error_logging">_test_python_error_logging</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeErrorLogTest._test_python_error_logging-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeErrorLogTest._test_python_error_logging-expanded"><a name="L4210"></a><tt class="py-lineno">4210</tt>  <tt class="py-line">        <tt class="py-docstring">"""This can't really be tested as long as there isn't a way to</tt> </tt>
-<a name="L4211"></a><tt class="py-lineno">4211</tt>  <tt class="py-line"><tt class="py-docstring">        reset the logging setup ...</tt> </tt>
-<a name="L4212"></a><tt class="py-lineno">4212</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
-<a name="L4213"></a><tt class="py-lineno">4213</tt>  <tt class="py-line">        <tt id="link-4314" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4269', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4189"></a><tt class="py-lineno">4189</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-op">[</tt> <tt id="link-4270" class="py-name" targets="Method lxml.etree.PyErrorLog.log()=lxml.etree.PyErrorLog-class.html#log"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4270', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4271" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4271', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
+<a name="L4190"></a><tt class="py-lineno">4190</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'mismatch'</tt> <tt class="py-keyword">in</tt> <tt id="link-4272" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4272', 'log', 'link-4270');">log</a></tt><tt class="py-op">.</tt><tt id="link-4273" 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-4273', 'message', 'link-4273');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4191"></a><tt class="py-lineno">4191</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-op">[</tt> <tt id="link-4274" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4274', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4275" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4275', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
+<a name="L4192"></a><tt class="py-lineno">4192</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'PARSER'</tt>   <tt class="py-keyword">in</tt> <tt id="link-4276" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4276', 'log', 'link-4270');">log</a></tt><tt class="py-op">.</tt><tt id="link-4277" class="py-name" targets="Variable lxml.etree._LogEntry.domain_name=lxml.etree._LogEntry-class.html#domain_name"><a title="lxml.etree._LogEntry.domain_name" class="py-name" href="#" onclick="return doclink('link-4277', 'domain_name', 'link-4277');">domain_name</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4193"></a><tt class="py-lineno">4193</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-op">[</tt> <tt id="link-4278" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4278', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4279" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4279', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
+<a name="L4194"></a><tt class="py-lineno">4194</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'ERR_TAG_NAME_MISMATCH'</tt> <tt class="py-keyword">in</tt> <tt id="link-4280" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4280', 'log', 'link-4270');">log</a></tt><tt class="py-op">.</tt><tt id="link-4281" class="py-name" targets="Variable lxml.etree._LogEntry.type_name=lxml.etree._LogEntry-class.html#type_name"><a title="lxml.etree._LogEntry.type_name" class="py-name" href="#" onclick="return doclink('link-4281', 'type_name', 'link-4281');">type_name</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4195"></a><tt class="py-lineno">4195</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-op">[</tt> <tt id="link-4282" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4282', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4283" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4283', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
+<a name="L4196"></a><tt class="py-lineno">4196</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-number">1</tt> <tt class="py-op">==</tt> <tt id="link-4284" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4284', 'log', 'link-4270');">log</a></tt><tt class="py-op">.</tt><tt id="link-4285" class="py-name" targets="Variable lxml.etree._LogEntry.line=lxml.etree._LogEntry-class.html#line"><a title="lxml.etree._LogEntry.line" class="py-name" href="#" onclick="return doclink('link-4285', 'line', 'link-4285');">line</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4197"></a><tt class="py-lineno">4197</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-op">[</tt> <tt id="link-4286" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4286', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4287" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4287', 'log', 'link-4270');">log</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">logs</tt> </tt>
+<a name="L4198"></a><tt class="py-lineno">4198</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-number">15</tt> <tt class="py-op">==</tt> <tt id="link-4288" class="py-name"><a title="lxml.etree.PyErrorLog.log" class="py-name" href="#" onclick="return doclink('link-4288', 'log', 'link-4270');">log</a></tt><tt class="py-op">.</tt><tt id="link-4289" class="py-name" targets="Variable lxml.etree._LogEntry.column=lxml.etree._LogEntry-class.html#column"><a title="lxml.etree._LogEntry.column" class="py-name" href="#" onclick="return doclink('link-4289', 'column', 'link-4289');">column</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4199"></a><tt class="py-lineno">4199</tt>  <tt class="py-line"> </tt>
+<a name="ETreeErrorLogTest._test_python_error_logging"></a><div id="ETreeErrorLogTest._test_python_error_logging-def"><a name="L4200"></a><tt class="py-lineno">4200</tt> <a class="py-toggle" href="#" id="ETreeErrorLogTest._test_python_error_logging-toggle" onclick="return toggle('ETreeErrorLogTest._test_python_error_logging');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.ETreeErrorLogTest-class.html#_test_python_error_logging">_test_python_error_logging</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeErrorLogTest._test_python_error_logging-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ETreeErrorLogTest._test_python_error_logging-expanded"><a name="L4201"></a><tt class="py-lineno">4201</tt>  <tt class="py-line">        <tt class="py-docstring">"""This can't really be tested as long as there isn't a way to</tt> </tt>
+<a name="L4202"></a><tt class="py-lineno">4202</tt>  <tt class="py-line"><tt class="py-docstring">        reset the logging setup ...</tt> </tt>
+<a name="L4203"></a><tt class="py-lineno">4203</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L4204"></a><tt class="py-lineno">4204</tt>  <tt class="py-line">        <tt id="link-4290" 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-4314', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4315" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4290', 'parse', 'link-809');">parse</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4291" 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-4315', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4316" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4291', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4292" 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-4316', 'parse', 'link-809');">parse</a></tt> </tt>
-<a name="L4214"></a><tt class="py-lineno">4214</tt>  <tt class="py-line"> </tt>
-<a name="L4215"></a><tt class="py-lineno">4215</tt>  <tt class="py-line">        <tt class="py-name">messages</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
-<a name="L4216"></a><tt class="py-lineno">4216</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Logger</tt><tt class="py-op">(</tt><tt class="py-base-class">self</tt><tt class="py-op">.</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">PyErrorLog</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4217"></a><tt class="py-lineno">4217</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">log</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">entry</tt><tt class="py-op">,</tt> <tt class="py-param">message</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>
-<a name="L4218"></a><tt class="py-lineno">4218</tt>  <tt class="py-line">                <tt class="py-name">messages</tt><tt class="py-op">.</tt><tt id="link-4317" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-4317', 'append', 'link-673');">append</a></tt><tt class="py-op">(</tt><tt id="link-4318" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4318', 'message', 'link-4297');">message</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L4219"></a><tt class="py-lineno">4219</tt>  <tt class="py-line"> </tt>
-<a name="L4220"></a><tt class="py-lineno">4220</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4319" class="py-name"><a title="lxml.etree
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4292', 'parse', 'link-809');">parse</a></tt> </tt>
+<a name="L4205"></a><tt class="py-lineno">4205</tt>  <tt class="py-line"> </tt>
+<a name="L4206"></a><tt class="py-lineno">4206</tt>  <tt class="py-line">        <tt class="py-name">messages</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L4207"></a><tt class="py-lineno">4207</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Logger</tt><tt class="py-op">(</tt><tt class="py-base-class">self</tt><tt class="py-op">.</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">PyErrorLog</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4208"></a><tt class="py-lineno">4208</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">log</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">entry</tt><tt class="py-op">,</tt> <tt class="py-param">message</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>
+<a name="L4209"></a><tt class="py-lineno">4209</tt>  <tt class="py-line">                <tt class="py-name">messages</tt><tt class="py-op">.</tt><tt id="link-4293" class="py-name"><a title="lxml.etree._Element.append" class="py-name" href="#" onclick="return doclink('link-4293', 'append', 'link-684');">append</a></tt><tt class="py-op">(</tt><tt id="link-4294" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4294', 'message', 'link-4273');">message</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L4210"></a><tt class="py-lineno">4210</tt>  <tt class="py-line"> </tt>
+<a name="L4211"></a><tt class="py-lineno">4211</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4295" 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-4319', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4320" class="py-name" targets="Function lxml.etree.use_global_python_log()=lxml.etree-module.html#use_global_python_log"><a title="lxml.etree.use_global_python_log" class="py-name" href="#" onclick="return doclink('link-4320', 'use_global_python_log', 'link-4320');">use_global_python_log</a></tt><tt class="py-op">(</tt><tt class="py-name">Logger</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4221"></a><tt class="py-lineno">4221</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-string">'&lt;a&gt;&lt;b&gt;&lt;/c&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4222"></a><tt class="py-lineno">4222</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
-<a name="L4223"></a><tt class="py-lineno">4223</tt>  <tt class="py-line">            <tt id="link-4321" class="py-name"><a title="lxml.etree._ElementTree.parse
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4295', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4296" class="py-name" targets="Function lxml.etree.use_global_python_log()=lxml.etree-module.html#use_global_python_log"><a title="lxml.etree.use_global_python_log" class="py-name" href="#" onclick="return doclink('link-4296', 'use_global_python_log', 'link-4296');">use_global_python_log</a></tt><tt class="py-op">(</tt><tt class="py-name">Logger</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4212"></a><tt class="py-lineno">4212</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-string">'&lt;a&gt;&lt;b&gt;&lt;/c&gt;&lt;/b&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4213"></a><tt class="py-lineno">4213</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L4214"></a><tt class="py-lineno">4214</tt>  <tt class="py-line">            <tt id="link-4297" 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-4321', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L4224"></a><tt class="py-lineno">4224</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">:</tt> </tt>
-<a name="L4225"></a><tt class="py-lineno">4225</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
-<a name="L4226"></a><tt class="py-lineno">4226</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4322" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.common_imports.HelperTestCase.parse" class="py-name" href="#" onclick="return doclink('link-4297', 'parse', 'link-809');">parse</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
+<a name="L4215"></a><tt class="py-lineno">4215</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt> <tt class="py-name">SyntaxError</tt><tt class="py-op">:</tt> </tt>
+<a name="L4216"></a><tt class="py-lineno">4216</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L4217"></a><tt class="py-lineno">4217</tt>  <tt class="py-line">        <tt class="py-name">f</tt><tt class="py-op">.</tt><tt id="link-4298" class="py-name"><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-4322', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4227"></a><tt class="py-lineno">4227</tt>  <tt class="py-line"> </tt>
-<a name="L4228"></a><tt class="py-lineno">4228</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-op">[</tt> <tt id="link-4323" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4323', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4324" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4324', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
-<a name="L4229"></a><tt class="py-lineno">4229</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'mismatch'</tt> <tt class="py-keyword">in</tt> <tt id="link-4325" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4325', 'message', 'link-4297');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4230"></a><tt class="py-lineno">4230</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-op">[</tt> <tt id="link-4326" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4326', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4327" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4327', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
-<a name="L4231"></a><tt class="py-lineno">4231</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">':PARSER:'</tt>   <tt class="py-keyword">in</tt> <tt id="link-4328" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4328', 'message', 'link-4297');">message</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4232"></a><tt class="py-lineno">4232</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-op">[</tt> <tt id="link-4329" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4329', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4330" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4330', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
-<a name="L4233"></a><tt class="py-lineno">4233</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">':ERR_TAG_NAME_MISMATCH:'</tt> <tt class="py-keyword">in</tt> <tt id="link-4331" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4331', 'message', 'link-4297');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4234"></a><tt class="py-lineno">4234</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-op">[</tt> <tt id="link-4332" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4332', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4333" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4333', 'message', 'link-4297');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
-<a name="L4235"></a><tt class="py-lineno">4235</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">':1:15:'</tt> <tt class="py-keyword">in</tt> <tt id="link-4334" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4334', 'message', 'link-4297');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L4236"></a><tt class="py-lineno">4236</tt>  <tt class="py-line"> </tt>
-<a name="L4237"></a><tt class="py-lineno">4237</tt>  <tt class="py-line"> </tt>
-<a name="XMLPullParserTest"></a><div id="XMLPullParserTest-def"><a name="L4238"></a><tt class="py-lineno">4238</tt> <a class="py-toggle" href="#" id="XMLPullParserTest-toggle" onclick="return toggle('XMLPullParserTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a><tt class="py-op">(</tt><tt class="py-base-class">unittest</tt><tt class="py-op">.</tt><tt class="py-base-class">TestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="XMLPullParserTest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XMLPullParserTest-expanded"><a name="L4239"></a><tt class="py-lineno">4239</tt>  <tt class="py-line">    <tt id="link-4335" class="py-name"><a title="lxml.etree
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4298', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4218"></a><tt class="py-lineno">4218</tt>  <tt class="py-line"> </tt>
+<a name="L4219"></a><tt class="py-lineno">4219</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-op">[</tt> <tt id="link-4299" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4299', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4300" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4300', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
+<a name="L4220"></a><tt class="py-lineno">4220</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">'mismatch'</tt> <tt class="py-keyword">in</tt> <tt id="link-4301" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4301', 'message', 'link-4273');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4221"></a><tt class="py-lineno">4221</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-op">[</tt> <tt id="link-4302" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4302', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4303" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4303', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
+<a name="L4222"></a><tt class="py-lineno">4222</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">':PARSER:'</tt>   <tt class="py-keyword">in</tt> <tt id="link-4304" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4304', 'message', 'link-4273');">message</a></tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4223"></a><tt class="py-lineno">4223</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-op">[</tt> <tt id="link-4305" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4305', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4306" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4306', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
+<a name="L4224"></a><tt class="py-lineno">4224</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">':ERR_TAG_NAME_MISMATCH:'</tt> <tt class="py-keyword">in</tt> <tt id="link-4307" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4307', 'message', 'link-4273');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4225"></a><tt class="py-lineno">4225</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-op">[</tt> <tt id="link-4308" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4308', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">for</tt> <tt id="link-4309" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4309', 'message', 'link-4273');">message</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">messages</tt> </tt>
+<a name="L4226"></a><tt class="py-lineno">4226</tt>  <tt class="py-line">                       <tt class="py-keyword">if</tt> <tt class="py-string">':1:15:'</tt> <tt class="py-keyword">in</tt> <tt id="link-4310" class="py-name"><a title="lxml.etree._LogEntry.message" class="py-name" href="#" onclick="return doclink('link-4310', 'message', 'link-4273');">message</a></tt> <tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L4227"></a><tt class="py-lineno">4227</tt>  <tt class="py-line"> </tt>
+<a name="L4228"></a><tt class="py-lineno">4228</tt>  <tt class="py-line"> </tt>
+<a name="XMLPullParserTest"></a><div id="XMLPullParserTest-def"><a name="L4229"></a><tt class="py-lineno">4229</tt> <a class="py-toggle" href="#" id="XMLPullParserTest-toggle" onclick="return toggle('XMLPullParserTest');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html">XMLPullParserTest</a><tt class="py-op">(</tt><tt class="py-base-class">unittest</tt><tt class="py-op">.</tt><tt class="py-base-class">TestCase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="XMLPullParserTest-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="XMLPullParserTest-expanded"><a name="L4230"></a><tt class="py-lineno">4230</tt>  <tt class="py-line">    <tt id="link-4311" 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-4335', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt id="link-4336" class="py-name"><a title="lxml.etree
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4311', 'etree', 'link-10');">etree</a></tt> <tt class="py-op">=</tt> <tt id="link-4312" 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-4336', 'etree', 'link-10');">etree</a></tt> </tt>
-<a name="L4240"></a><tt class="py-lineno">4240</tt>  <tt class="py-line"> </tt>
-<a name="XMLPullParserTest.assert_event_tags"></a><div id="XMLPullParserTest.assert_event_tags-def"><a name="L4241"></a><tt class="py-lineno">4241</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.assert_event_tags-toggle" onclick="return toggle('XMLPullParserTest.assert_event_tags');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#assert_event_tags">assert_event_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">events</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="XMLPullParserTest.assert_event_tags-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.assert_event_tags-expanded"><a name="L4242"></a><tt class="py-lineno">4242</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt id="link-4337" class="py-name" targets="Variable lxml.html.FormElement.action=lxml.html.FormElement-class.html#action"><a title="lxml.html.FormElement.action" class="py-name" href="#" onclick="return doclink('link-4337', 'action', 'link-4337');">action</a></tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-4338" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="return doclink('link-4312', 'etree', 'link-10');">etree</a></tt> </tt>
+<a name="L4231"></a><tt class="py-lineno">4231</tt>  <tt class="py-line"> </tt>
+<a name="XMLPullParserTest.assert_event_tags"></a><div id="XMLPullParserTest.assert_event_tags-def"><a name="L4232"></a><tt class="py-lineno">4232</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.assert_event_tags-toggle" onclick="return toggle('XMLPullParserTest.assert_event_tags');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#assert_event_tags">assert_event_tags</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">events</tt><tt class="py-op">,</tt> <tt class="py-param">expected</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="XMLPullParserTest.assert_event_tags-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.assert_event_tags-expanded"><a name="L4233"></a><tt class="py-lineno">4233</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt id="link-4313" class="py-name" targets="Variable lxml.html.FormElement.action=lxml.html.FormElement-class.html#action"><a title="lxml.html.FormElement.action" class="py-name" href="#" onclick="return doclink('link-4313', 'action', 'link-4313');">action</a></tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt><tt class="py-op">.</tt><tt id="link-4314" 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-4338', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-4339" class="py-name"><a title="lxml.html.FormElement.action" class="py-name" href="#" onclick="return doclink('link-4339', 'action', 'link-4337');">action</a></tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt> <tt class="py-keyword">in</tt> <tt class="py-name">events</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L4243"></a><tt class="py-lineno">4243</tt>  <tt class="py-line">                         <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4244"></a><tt class="py-lineno">4244</tt>  <tt class="py-line"> </tt>
-<a name="XMLPullParserTest.test_pull_from_simple_target"></a><div id="XMLPullParserTest.test_pull_from_simple_target-def"><a name="L4245"></a><tt class="py-lineno">4245</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_simple_target-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_simple_target');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target">test_pull_from_simple_target</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="XMLPullParserTest.test_pull_from_simple_target-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_simple_target-expanded"><a name="L4246"></a><tt class="py-lineno">4246</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4247"></a><tt class="py-lineno">4247</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4248"></a><tt class="py-lineno">4248</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'start(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4340" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4314', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt id="link-4315" class="py-name"><a title="lxml.html.FormElement.action" class="py-name" href="#" onclick="return doclink('link-4315', 'action', 'link-4313');">action</a></tt><tt class="py-op">,</tt> <tt class="py-name">elem</tt> <tt class="py-keyword">in</tt> <tt class="py-name">events</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4234"></a><tt class="py-lineno">4234</tt>  <tt class="py-line">                         <tt class="py-name">expected</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4235"></a><tt class="py-lineno">4235</tt>  <tt class="py-line"> </tt>
+<a name="XMLPullParserTest.test_pull_from_simple_target"></a><div id="XMLPullParserTest.test_pull_from_simple_target-def"><a name="L4236"></a><tt class="py-lineno">4236</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_simple_target-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_simple_target');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target">test_pull_from_simple_target</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="XMLPullParserTest.test_pull_from_simple_target-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_simple_target-expanded"><a name="L4237"></a><tt class="py-lineno">4237</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4238"></a><tt class="py-lineno">4238</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4239"></a><tt class="py-lineno">4239</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'start(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4316" 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-4340', 'tag', 'link-68');">tag</a></tt> </tt>
-</div><a name="L4249"></a><tt class="py-lineno">4249</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4250"></a><tt class="py-lineno">4250</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'end(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4341" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4316', 'tag', 'link-68');">tag</a></tt> </tt>
+</div><a name="L4240"></a><tt class="py-lineno">4240</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4241"></a><tt class="py-lineno">4241</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'end(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4317" 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-4341', 'tag', 'link-68');">tag</a></tt> </tt>
-</div><a name="L4251"></a><tt class="py-lineno">4251</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L4252"></a><tt class="py-lineno">4252</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'close()'</tt> </tt>
-</div></div><a name="L4253"></a><tt class="py-lineno">4253</tt>  <tt class="py-line"> </tt>
-<a name="L4254"></a><tt class="py-lineno">4254</tt>  <tt class="py-line">        <tt id="link-4342" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4342', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4343" 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-4343', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4344" class="py-name" targets="Class lxml.etree.XMLPullParser=lxml.etree.XMLPullParser-class.html"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4344', 'XMLPullParser', 'link-4344');">XMLPullParser</a></tt><tt class="py-op">(</tt><tt id="link-4345" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4345', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4255"></a><tt class="py-lineno">4255</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4346" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4346', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4347" class="py-name" targets="Method lxml.etree.HTMLPullParser.read_events()=lxml.etree.HTMLPullParser-class.html#read_events,Method lxml.etree.XMLPullParser.read_events()=lxml.etree.XMLPullParser-class.html#read_events"><a title="lxml.etree.HTMLPullParser.read_events
-lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4347', 'read_events', 'link-4347');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4256"></a><tt class="py-lineno">4256</tt>  <tt class="py-line"> </tt>
-<a name="L4257"></a><tt class="py-lineno">4257</tt>  <tt class="py-line">        <tt id="link-4348" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4348', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4349" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4349', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4258"></a><tt class="py-lineno">4258</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4350" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4350', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4259"></a><tt class="py-lineno">4259</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4351" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4351', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4260"></a><tt class="py-lineno">4260</tt>  <tt class="py-line">        <tt id="link-4352" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4352', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4353" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4353', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4261"></a><tt class="py-lineno">4261</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(element)'</tt><tt class="py-op">)</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">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4262"></a><tt class="py-lineno">4262</tt>  <tt class="py-line">        <tt id="link-4354" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4354', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4355" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4355', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4263"></a><tt class="py-lineno">4263</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(child)'</tt><tt class="py-op">)</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">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4264"></a><tt class="py-lineno">4264</tt>  <tt class="py-line">        <tt id="link-4356" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4356', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4357" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4357', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4265"></a><tt class="py-lineno">4265</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(root)'</tt><tt class="py-op">)</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">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4266"></a><tt class="py-lineno">4266</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4358" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4358', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4267"></a><tt class="py-lineno">4267</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'close()'</tt><tt class="py-op">,</tt> <tt id="link-4359" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4359', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4360" class="py-name"><a title="lxml.etree.TreeBuilder.close
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4317', 'tag', 'link-68');">tag</a></tt> </tt>
+</div><a name="L4242"></a><tt class="py-lineno">4242</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L4243"></a><tt class="py-lineno">4243</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'close()'</tt> </tt>
+</div></div><a name="L4244"></a><tt class="py-lineno">4244</tt>  <tt class="py-line"> </tt>
+<a name="L4245"></a><tt class="py-lineno">4245</tt>  <tt class="py-line">        <tt id="link-4318" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4318', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4319" 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-4319', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4320" class="py-name" targets="Class lxml.etree.XMLPullParser=lxml.etree.XMLPullParser-class.html"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4320', 'XMLPullParser', 'link-4320');">XMLPullParser</a></tt><tt class="py-op">(</tt><tt id="link-4321" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4321', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4246"></a><tt class="py-lineno">4246</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4322" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4322', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4323" class="py-name" targets="Method lxml.etree.HTMLPullParser.read_events()=lxml.etree.HTMLPullParser-class.html#read_events,Method lxml.etree.XMLPullParser.read_events()=lxml.etree.XMLPullParser-class.html#read_events"><a title="lxml.etree.HTMLPullParser.read_events
+lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4323', 'read_events', 'link-4323');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4247"></a><tt class="py-lineno">4247</tt>  <tt class="py-line"> </tt>
+<a name="L4248"></a><tt class="py-lineno">4248</tt>  <tt class="py-line">        <tt id="link-4324" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4324', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4325" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4325', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4249"></a><tt class="py-lineno">4249</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4326" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4326', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4250"></a><tt class="py-lineno">4250</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4327" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4327', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4251"></a><tt class="py-lineno">4251</tt>  <tt class="py-line">        <tt id="link-4328" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4328', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4329" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4329', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4252"></a><tt class="py-lineno">4252</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(element)'</tt><tt class="py-op">)</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">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4253"></a><tt class="py-lineno">4253</tt>  <tt class="py-line">        <tt id="link-4330" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4330', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4331" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4331', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4254"></a><tt class="py-lineno">4254</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(child)'</tt><tt class="py-op">)</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">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4255"></a><tt class="py-lineno">4255</tt>  <tt class="py-line">        <tt id="link-4332" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4332', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4333" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4333', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4256"></a><tt class="py-lineno">4256</tt>  <tt class="py-line">        <tt 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-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(root)'</tt><tt class="py-op">)</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">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4257"></a><tt class="py-lineno">4257</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4334" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4334', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4258"></a><tt class="py-lineno">4258</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'close()'</tt><tt class="py-op">,</tt> <tt id="link-4335" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4335', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4336" class="py-name"><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-4360', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4268"></a><tt class="py-lineno">4268</tt>  <tt class="py-line"> </tt>
-<a name="XMLPullParserTest.test_pull_from_simple_target_start_end"></a><div id="XMLPullParserTest.test_pull_from_simple_target_start_end-def"><a name="L4269"></a><tt class="py-lineno">4269</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_simple_target_start_end-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_simple_target_start_end');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target_start_end">test_pull_from_simple_target_start_end</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="XMLPullParserTest.test_pull_from_simple_target_start_end-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_simple_target_start_end-expanded"><a name="L4270"></a><tt class="py-lineno">4270</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4271"></a><tt class="py-lineno">4271</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4272"></a><tt class="py-lineno">4272</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'start(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4361" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4336', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4259"></a><tt class="py-lineno">4259</tt>  <tt class="py-line"> </tt>
+<a name="XMLPullParserTest.test_pull_from_simple_target_start_end"></a><div id="XMLPullParserTest.test_pull_from_simple_target_start_end-def"><a name="L4260"></a><tt class="py-lineno">4260</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_simple_target_start_end-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_simple_target_start_end');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_simple_target_start_end">test_pull_from_simple_target_start_end</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="XMLPullParserTest.test_pull_from_simple_target_start_end-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_simple_target_start_end-expanded"><a name="L4261"></a><tt class="py-lineno">4261</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">object</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4262"></a><tt class="py-lineno">4262</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">start</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">,</tt> <tt class="py-param">attrib</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4263"></a><tt class="py-lineno">4263</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'start(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4337" 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-4361', 'tag', 'link-68');">tag</a></tt> </tt>
-</div><a name="L4273"></a><tt class="py-lineno">4273</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4274"></a><tt class="py-lineno">4274</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'end(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4362" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4337', 'tag', 'link-68');">tag</a></tt> </tt>
+</div><a name="L4264"></a><tt class="py-lineno">4264</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4265"></a><tt class="py-lineno">4265</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'end(%s)'</tt> <tt class="py-op">%</tt> <tt id="link-4338" 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-4362', 'tag', 'link-68');">tag</a></tt> </tt>
-</div><a name="L4275"></a><tt class="py-lineno">4275</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L4276"></a><tt class="py-lineno">4276</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'close()'</tt> </tt>
-</div></div><a name="L4277"></a><tt class="py-lineno">4277</tt>  <tt class="py-line"> </tt>
-<a name="L4278"></a><tt class="py-lineno">4278</tt>  <tt class="py-line">        <tt id="link-4363" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4363', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4364" 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-4364', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4365" class="py-name"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4365', 'XMLPullParser', 'link-4344');">XMLPullParser</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4279"></a><tt class="py-lineno">4279</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4366" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4366', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4280"></a><tt class="py-lineno">4280</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4367" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4367', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4368" class="py-name"><a title="lxml.etree.HTMLPullParser.read_events
-lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4368', 'read_events', 'link-4347');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4281"></a><tt class="py-lineno">4281</tt>  <tt class="py-line"> </tt>
-<a name="L4282"></a><tt class="py-lineno">4282</tt>  <tt class="py-line">        <tt id="link-4369" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4369', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4370" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4370', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4338', 'tag', 'link-68');">tag</a></tt> </tt>
+</div><a name="L4266"></a><tt class="py-lineno">4266</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">close</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="L4267"></a><tt class="py-lineno">4267</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-string">'close()'</tt> </tt>
+</div></div><a name="L4268"></a><tt class="py-lineno">4268</tt>  <tt class="py-line"> </tt>
+<a name="L4269"></a><tt class="py-lineno">4269</tt>  <tt class="py-line">        <tt id="link-4339" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4339', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4340" 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-4340', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4341" class="py-name"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4341', 'XMLPullParser', 'link-4320');">XMLPullParser</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4270"></a><tt class="py-lineno">4270</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4342" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4342', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4271"></a><tt class="py-lineno">4271</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4343" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4343', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4344" class="py-name"><a title="lxml.etree.HTMLPullParser.read_events
+lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4344', 'read_events', 'link-4323');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4272"></a><tt class="py-lineno">4272</tt>  <tt class="py-line"> </tt>
+<a name="L4273"></a><tt class="py-lineno">4273</tt>  <tt class="py-line">        <tt id="link-4345" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4345', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4346" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4346', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4274"></a><tt class="py-lineno">4274</tt>  <tt class="py-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="L4275"></a><tt class="py-lineno">4275</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'start(root)'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'start(element)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4276"></a><tt class="py-lineno">4276</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4277"></a><tt class="py-lineno">4277</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4347" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4347', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4278"></a><tt class="py-lineno">4278</tt>  <tt class="py-line">        <tt id="link-4348" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4348', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4349" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4349', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4279"></a><tt class="py-lineno">4279</tt>  <tt class="py-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="L4280"></a><tt class="py-lineno">4280</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(element)'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'start(child)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4281"></a><tt class="py-lineno">4281</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4282"></a><tt class="py-lineno">4282</tt>  <tt class="py-line">        <tt id="link-4350" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4350', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4351" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4351', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
 <a name="L4283"></a><tt class="py-lineno">4283</tt>  <tt class="py-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="L4284"></a><tt class="py-lineno">4284</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'start(root)'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'start(element)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4284"></a><tt class="py-lineno">4284</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(child)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
 <a name="L4285"></a><tt class="py-lineno">4285</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4286"></a><tt class="py-lineno">4286</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4371" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4371', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4287"></a><tt class="py-lineno">4287</tt>  <tt class="py-line">        <tt id="link-4372" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4372', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4373" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4373', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4288"></a><tt class="py-lineno">4288</tt>  <tt class="py-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="L4289"></a><tt class="py-lineno">4289</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(element)'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'start(child)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L4290"></a><tt class="py-lineno">4290</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4291"></a><tt class="py-lineno">4291</tt>  <tt class="py-line">        <tt id="link-4374" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4374', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4375" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4375', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4292"></a><tt class="py-lineno">4292</tt>  <tt class="py-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="L4293"></a><tt class="py-lineno">4293</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(child)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L4294"></a><tt class="py-lineno">4294</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4295"></a><tt class="py-lineno">4295</tt>  <tt class="py-line">        <tt id="link-4376" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4376', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4377" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4377', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4296"></a><tt class="py-lineno">4296</tt>  <tt class="py-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="L4297"></a><tt class="py-lineno">4297</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(root)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
-<a name="L4298"></a><tt class="py-lineno">4298</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4299"></a><tt class="py-lineno">4299</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4378" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4378', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4300"></a><tt class="py-lineno">4300</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'close()'</tt><tt class="py-op">,</tt> <tt id="link-4379" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4379', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4380" class="py-name"><a title="lxml.etree.TreeBuilder.close
+<a name="L4286"></a><tt class="py-lineno">4286</tt>  <tt class="py-line">        <tt id="link-4352" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4352', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4353" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4353', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4287"></a><tt class="py-lineno">4287</tt>  <tt class="py-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="L4288"></a><tt class="py-lineno">4288</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'end(root)'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> </tt>
+<a name="L4289"></a><tt class="py-lineno">4289</tt>  <tt class="py-line">            <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4290"></a><tt class="py-lineno">4290</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4354" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4354', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4291"></a><tt class="py-lineno">4291</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'close()'</tt><tt class="py-op">,</tt> <tt id="link-4355" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4355', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4356" class="py-name"><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-4380', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4301"></a><tt class="py-lineno">4301</tt>  <tt class="py-line"> </tt>
-<a name="XMLPullParserTest.test_pull_from_tree_builder"></a><div id="XMLPullParserTest.test_pull_from_tree_builder-def"><a name="L4302"></a><tt class="py-lineno">4302</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_tree_builder-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_tree_builder');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder">test_pull_from_tree_builder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="XMLPullParserTest.test_pull_from_tree_builder-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_tree_builder-expanded"><a name="L4303"></a><tt class="py-lineno">4303</tt>  <tt class="py-line">        <tt id="link-4381" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4381', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4382" 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-4382', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4383" class="py-name"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4383', 'XMLPullParser', 'link-4344');">XMLPullParser</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4304"></a><tt class="py-lineno">4304</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4384" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4384', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt id="link-4385" 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-4385', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4386" class="py-name" targets="Class lxml.etree.TreeBuilder=lxml.etree.TreeBuilder-class.html,Class xml.etree.ElementTree.TreeBuilder=xml.etree.ElementTree.TreeBuilder-class.html"><a title="lxml.etree.TreeBuilder
-xml.etree.ElementTree.TreeBuilder" class="py-name" href="#" onclick="return doclink('link-4386', 'TreeBuilder', 'link-4386');">TreeBuilder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4305"></a><tt class="py-lineno">4305</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4387" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4387', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4388" class="py-name"><a title="lxml.etree.HTMLPullParser.read_events
-lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4388', 'read_events', 'link-4347');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4306"></a><tt class="py-lineno">4306</tt>  <tt class="py-line"> </tt>
-<a name="L4307"></a><tt class="py-lineno">4307</tt>  <tt class="py-line">        <tt id="link-4389" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4389', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4390" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4390', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4308"></a><tt class="py-lineno">4308</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4391" class="py-name" targets="Method lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags()=lxml.tests.test_elementtree._XMLPullParserTest-class.html#assert_event_tags,Method lxml.tests.test_etree.XMLPullParserTest.assert_event_tags()=lxml.tests.test_etree.XMLPullParserTest-class.html#assert_event_tags"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4391', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4309"></a><tt class="py-lineno">4309</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'element'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4310"></a><tt class="py-lineno">4310</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4392" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4392', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4311"></a><tt class="py-lineno">4311</tt>  <tt class="py-line">        <tt id="link-4393" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4393', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4394" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4394', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4312"></a><tt class="py-lineno">4312</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4395" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4395', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4313"></a><tt class="py-lineno">4313</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'element'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4314"></a><tt class="py-lineno">4314</tt>  <tt class="py-line">        <tt id="link-4396" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4396', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4397" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4397', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4315"></a><tt class="py-lineno">4315</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4398" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4398', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4316"></a><tt class="py-lineno">4316</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4317"></a><tt class="py-lineno">4317</tt>  <tt class="py-line">        <tt id="link-4399" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4399', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4400" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4400', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4318"></a><tt class="py-lineno">4318</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4401" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4401', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4319"></a><tt class="py-lineno">4319</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4320"></a><tt class="py-lineno">4320</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4402" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4402', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4321"></a><tt class="py-lineno">4321</tt>  <tt class="py-line">        <tt id="link-4403" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4403', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-4404" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4404', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4405" class="py-name"><a title="lxml.etree.TreeBuilder.close
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4356', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4292"></a><tt class="py-lineno">4292</tt>  <tt class="py-line"> </tt>
+<a name="XMLPullParserTest.test_pull_from_tree_builder"></a><div id="XMLPullParserTest.test_pull_from_tree_builder-def"><a name="L4293"></a><tt class="py-lineno">4293</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_tree_builder-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_tree_builder');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder">test_pull_from_tree_builder</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="XMLPullParserTest.test_pull_from_tree_builder-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_tree_builder-expanded"><a name="L4294"></a><tt class="py-lineno">4294</tt>  <tt class="py-line">        <tt id="link-4357" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4357', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4358" 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-4358', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4359" class="py-name"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4359', 'XMLPullParser', 'link-4320');">XMLPullParser</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4295"></a><tt class="py-lineno">4295</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4360" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4360', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt id="link-4361" 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-4361', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4362" class="py-name" targets="Class lxml.etree.TreeBuilder=lxml.etree.TreeBuilder-class.html,Class xml.etree.ElementTree.TreeBuilder=xml.etree.ElementTree.TreeBuilder-class.html"><a title="lxml.etree.TreeBuilder
+xml.etree.ElementTree.TreeBuilder" class="py-name" href="#" onclick="return doclink('link-4362', 'TreeBuilder', 'link-4362');">TreeBuilder</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4296"></a><tt class="py-lineno">4296</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4363" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4363', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4364" class="py-name"><a title="lxml.etree.HTMLPullParser.read_events
+lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4364', 'read_events', 'link-4323');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4297"></a><tt class="py-lineno">4297</tt>  <tt class="py-line"> </tt>
+<a name="L4298"></a><tt class="py-lineno">4298</tt>  <tt class="py-line">        <tt id="link-4365" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4365', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4366" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4366', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4299"></a><tt class="py-lineno">4299</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4367" class="py-name" targets="Method lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags()=lxml.tests.test_elementtree._XMLPullParserTest-class.html#assert_event_tags,Method lxml.tests.test_etree.XMLPullParserTest.assert_event_tags()=lxml.tests.test_etree.XMLPullParserTest-class.html#assert_event_tags"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4367', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4300"></a><tt class="py-lineno">4300</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'element'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4301"></a><tt class="py-lineno">4301</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4368" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4368', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4302"></a><tt class="py-lineno">4302</tt>  <tt class="py-line">        <tt id="link-4369" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4369', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4370" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4370', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4303"></a><tt class="py-lineno">4303</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4371" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4371', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4304"></a><tt class="py-lineno">4304</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'element'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4305"></a><tt class="py-lineno">4305</tt>  <tt class="py-line">        <tt id="link-4372" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4372', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4373" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4373', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4306"></a><tt class="py-lineno">4306</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4374" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4374', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4307"></a><tt class="py-lineno">4307</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4308"></a><tt class="py-lineno">4308</tt>  <tt class="py-line">        <tt id="link-4375" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4375', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4376" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4376', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4309"></a><tt class="py-lineno">4309</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4377" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4377', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4310"></a><tt class="py-lineno">4310</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4311"></a><tt class="py-lineno">4311</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4378" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4378', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4312"></a><tt class="py-lineno">4312</tt>  <tt class="py-line">        <tt id="link-4379" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4379', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-4380" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4380', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4381" class="py-name"><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-4405', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4322"></a><tt class="py-lineno">4322</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt id="link-4406" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4406', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-4407" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4381', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4313"></a><tt class="py-lineno">4313</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'root'</tt><tt class="py-op">,</tt> <tt id="link-4382" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4382', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-4383" 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-4407', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L4323"></a><tt class="py-lineno">4323</tt>  <tt class="py-line"> </tt>
-<a name="XMLPullParserTest.test_pull_from_tree_builder_subclass"></a><div id="XMLPullParserTest.test_pull_from_tree_builder_subclass-def"><a name="L4324"></a><tt class="py-lineno">4324</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_tree_builder_subclass-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_tree_builder_subclass');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder_subclass">test_pull_from_tree_builder_subclass</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="XMLPullParserTest.test_pull_from_tree_builder_subclass-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_tree_builder_subclass-expanded"><a name="L4325"></a><tt class="py-lineno">4325</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">TreeBuilder</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4326"></a><tt class="py-lineno">4326</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-<a name="L4327"></a><tt class="py-lineno">4327</tt>  <tt class="py-line">                <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt class="py-name">Target</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-4408" 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-4408', 'end', 'link-4408');">end</a></tt><tt class="py-op">(</tt><tt id="link-4409" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4383', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div><a name="L4314"></a><tt class="py-lineno">4314</tt>  <tt class="py-line"> </tt>
+<a name="XMLPullParserTest.test_pull_from_tree_builder_subclass"></a><div id="XMLPullParserTest.test_pull_from_tree_builder_subclass-def"><a name="L4315"></a><tt class="py-lineno">4315</tt> <a class="py-toggle" href="#" id="XMLPullParserTest.test_pull_from_tree_builder_subclass-toggle" onclick="return toggle('XMLPullParserTest.test_pull_from_tree_builder_subclass');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_etree.XMLPullParserTest-class.html#test_pull_from_tree_builder_subclass">test_pull_from_tree_builder_subclass</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="XMLPullParserTest.test_pull_from_tree_builder_subclass-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="XMLPullParserTest.test_pull_from_tree_builder_subclass-expanded"><a name="L4316"></a><tt class="py-lineno">4316</tt>  <tt class="py-line">        <tt class="py-keyword">class</tt> <tt class="py-def-name">Target</tt><tt class="py-op">(</tt><tt class="py-base-class">etree</tt><tt class="py-op">.</tt><tt class="py-base-class">TreeBuilder</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4317"></a><tt class="py-lineno">4317</tt>  <tt class="py-line">            <tt class="py-keyword">def</tt> <tt class="py-def-name">end</tt><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L4318"></a><tt class="py-lineno">4318</tt>  <tt class="py-line">                <tt class="py-name">el</tt> <tt class="py-op">=</tt> <tt class="py-name">super</tt><tt class="py-op">(</tt><tt class="py-name">Target</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-4384" 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-4384', 'end', 'link-4384');">end</a></tt><tt class="py-op">(</tt><tt id="link-4385" 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-4409', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L4328"></a><tt class="py-lineno">4328</tt>  <tt class="py-line">                <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-4410" class="py-name"><a title="lxml.etree._Comment.tag
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4385', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L4319"></a><tt class="py-lineno">4319</tt>  <tt class="py-line">                <tt class="py-name">el</tt><tt class="py-op">.</tt><tt id="link-4386" 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-4410', 'tag', 'link-68');">tag</a></tt> <tt class="py-op">+=</tt> <tt class="py-string">'-huhu'</tt> </tt>
-<a name="L4329"></a><tt class="py-lineno">4329</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">el</tt> </tt>
-</div></div><a name="L4330"></a><tt class="py-lineno">4330</tt>  <tt class="py-line"> </tt>
-<a name="L4331"></a><tt class="py-lineno">4331</tt>  <tt class="py-line">        <tt id="link-4411" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4411', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4412" 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-4412', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4413" class="py-name"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4413', 'XMLPullParser', 'link-4344');">XMLPullParser</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4332"></a><tt class="py-lineno">4332</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4414" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4414', 'target', 'link-674');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4333"></a><tt class="py-lineno">4333</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4415" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4415', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4416" class="py-name"><a title="lxml.etree.HTMLPullParser.read_events
-lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4416', 'read_events', 'link-4347');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4334"></a><tt class="py-lineno">4334</tt>  <tt class="py-line"> </tt>
-<a name="L4335"></a><tt class="py-lineno">4335</tt>  <tt class="py-line">        <tt id="link-4417" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4417', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4418" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4418', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4336"></a><tt class="py-lineno">4336</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4419" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4419', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4337"></a><tt class="py-lineno">4337</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'element'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4338"></a><tt class="py-lineno">4338</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4420" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4420', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4339"></a><tt class="py-lineno">4339</tt>  <tt class="py-line">        <tt id="link-4421" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4421', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4422" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4422', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4340"></a><tt class="py-lineno">4340</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4423" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4423', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4341"></a><tt class="py-lineno">4341</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'element-huhu'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4342"></a><tt class="py-lineno">4342</tt>  <tt class="py-line">        <tt id="link-4424" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4424', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4425" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4425', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4343"></a><tt class="py-lineno">4343</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4426" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4426', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4344"></a><tt class="py-lineno">4344</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'child-huhu'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4345"></a><tt class="py-lineno">4345</tt>  <tt class="py-line">        <tt id="link-4427" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4427', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4428" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4428', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L4346"></a><tt class="py-lineno">4346</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4429" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
-lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4429', 'assert_event_tags', 'link-4391');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
-<a name="L4347"></a><tt class="py-lineno">4347</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'root-huhu'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4348"></a><tt class="py-lineno">4348</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4430" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4430', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4349"></a><tt class="py-lineno">4349</tt>  <tt class="py-line">        <tt id="link-4431" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4431', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-4432" class="py-name"><a title="lxml.etree._ElementTree.parser
-lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4432', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4433" class="py-name"><a title="lxml.etree.TreeBuilder.close
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4386', 'tag', 'link-68');">tag</a></tt> <tt class="py-op">+=</tt> <tt class="py-string">'-huhu'</tt> </tt>
+<a name="L4320"></a><tt class="py-lineno">4320</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt> <tt class="py-name">el</tt> </tt>
+</div></div><a name="L4321"></a><tt class="py-lineno">4321</tt>  <tt class="py-line"> </tt>
+<a name="L4322"></a><tt class="py-lineno">4322</tt>  <tt class="py-line">        <tt id="link-4387" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4387', 'parser', 'link-800');">parser</a></tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4388" 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-4388', 'etree', 'link-10');">etree</a></tt><tt class="py-op">.</tt><tt id="link-4389" class="py-name"><a title="lxml.etree.XMLPullParser" class="py-name" href="#" onclick="return doclink('link-4389', 'XMLPullParser', 'link-4320');">XMLPullParser</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4323"></a><tt class="py-lineno">4323</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'end'</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt id="link-4390" class="py-name"><a title="lxml.etree._ProcessingInstruction.target" class="py-name" href="#" onclick="return doclink('link-4390', 'target', 'link-685');">target</a></tt><tt class="py-op">=</tt><tt class="py-name">Target</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4324"></a><tt class="py-lineno">4324</tt>  <tt class="py-line">        <tt class="py-name">events</tt> <tt class="py-op">=</tt> <tt id="link-4391" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4391', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4392" class="py-name"><a title="lxml.etree.HTMLPullParser.read_events
+lxml.etree.XMLPullParser.read_events" class="py-name" href="#" onclick="return doclink('link-4392', 'read_events', 'link-4323');">read_events</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4325"></a><tt class="py-lineno">4325</tt>  <tt class="py-line"> </tt>
+<a name="L4326"></a><tt class="py-lineno">4326</tt>  <tt class="py-line">        <tt id="link-4393" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4393', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4394" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4394', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;root&gt;&lt;element&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4327"></a><tt class="py-lineno">4327</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4395" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4395', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4328"></a><tt class="py-lineno">4328</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'root'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'element'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4329"></a><tt class="py-lineno">4329</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4396" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4396', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4330"></a><tt class="py-lineno">4330</tt>  <tt class="py-line">        <tt id="link-4397" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4397', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4398" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4398', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/element&gt;&lt;child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4331"></a><tt class="py-lineno">4331</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4399" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4399', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4332"></a><tt class="py-lineno">4332</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'element-huhu'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-op">(</tt><tt class="py-string">'start'</tt><tt class="py-op">,</tt> <tt class="py-string">'child'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4333"></a><tt class="py-lineno">4333</tt>  <tt class="py-line">        <tt id="link-4400" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4400', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4401" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4401', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/child&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4334"></a><tt class="py-lineno">4334</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4402" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4402', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4335"></a><tt class="py-lineno">4335</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'child-huhu'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4336"></a><tt class="py-lineno">4336</tt>  <tt class="py-line">        <tt id="link-4403" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4403', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4404" class="py-name"><a title="lxml.etree._FeedParser.feed" class="py-name" href="#" onclick="return doclink('link-4404', 'feed', 'link-1012');">feed</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;/root&gt;'</tt><tt class="py-op">)</tt> </tt>
+<a name="L4337"></a><tt class="py-lineno">4337</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4405" class="py-name"><a title="lxml.tests.test_elementtree._XMLPullParserTest.assert_event_tags
+lxml.tests.test_etree.XMLPullParserTest.assert_event_tags" class="py-name" href="#" onclick="return doclink('link-4405', 'assert_event_tags', 'link-4367');">assert_event_tags</a></tt><tt class="py-op">(</tt> </tt>
+<a name="L4338"></a><tt class="py-lineno">4338</tt>  <tt class="py-line">            <tt class="py-name">events</tt><tt class="py-op">,</tt> <tt class="py-op">[</tt><tt class="py-op">(</tt><tt class="py-string">'end'</tt><tt class="py-op">,</tt> <tt class="py-string">'root-huhu'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4339"></a><tt class="py-lineno">4339</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-4406" class="py-name"><a title="lxml.tests.common_imports.HelperTestCase.assertFalse" class="py-name" href="#" onclick="return doclink('link-4406', 'assertFalse', 'link-1066');">assertFalse</a></tt><tt class="py-op">(</tt><tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">events</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4340"></a><tt class="py-lineno">4340</tt>  <tt class="py-line">        <tt id="link-4407" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4407', 'root', 'link-215');">root</a></tt> <tt class="py-op">=</tt> <tt id="link-4408" class="py-name"><a title="lxml.etree._ElementTree.parser
+lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-4408', 'parser', 'link-800');">parser</a></tt><tt class="py-op">.</tt><tt id="link-4409" class="py-name"><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-4433', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L4350"></a><tt class="py-lineno">4350</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'root-huhu'</tt><tt class="py-op">,</tt> <tt id="link-4434" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4434', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-4435" class="py-name"><a title="lxml.etree._Comment.tag
+lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike.close" class="py-name" href="#" onclick="return doclink('link-4409', 'close', 'link-1025');">close</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L4341"></a><tt class="py-lineno">4341</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'root-huhu'</tt><tt class="py-op">,</tt> <tt id="link-4410" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-4410', 'root', 'link-215');">root</a></tt><tt class="py-op">.</tt><tt id="link-4411" 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-4435', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L4351"></a><tt class="py-lineno">4351</tt>  <tt class="py-line"> </tt>
-<a name="L4352"></a><tt class="py-lineno">4352</tt>  <tt class="py-line"> </tt>
-<a name="test_suite"></a><div id="test_suite-def"><a name="L4353"></a><tt class="py-lineno">4353</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_etree-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="L4354"></a><tt class="py-lineno">4354</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="L4355"></a><tt class="py-lineno">4355</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-4436" class="py-name" targets="Class lxml.tests.test_etree.ETreeOnlyTestCase=lxml.tests.test_etree.ETreeOnlyTestCase-class.html"><a title="lxml.tests.test_etree.ETreeOnlyTestCase" class="py-name" href="#" onclick="return doclink('link-4436', 'ETreeOnlyTestCase', 'link-4436');">ETreeOnlyTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4356"></a><tt class="py-lineno">4356</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-4437" class="py-name" targets="Class lxml.tests.test_etree.ETreeXIncludeTestCase=lxml.tests.test_etree.ETreeXIncludeTestCase-class.html"><a title="lxml.tests.test_etree.ETreeXIncludeTestCase" class="py-name" href="#" onclick="return doclink('link-4437', 'ETreeXIncludeTestCase', 'link-4437');">ETreeXIncludeTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4357"></a><tt class="py-lineno">4357</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-4438" class="py-name" targets="Class lxml.tests.test_etree.ElementIncludeTestCase=lxml.tests.test_etree.ElementIncludeTestCase-class.html"><a title="lxml.tests.test_etree.ElementIncludeTestCase" class="py-name" href="#" onclick="return doclink('link-4438', 'ElementIncludeTestCase', 'link-4438');">ElementIncludeTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4358"></a><tt class="py-lineno">4358</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-4439" class="py-name" targets="Class lxml.tests.test_etree.ETreeC14NTestCase=lxml.tests.test_etree.ETreeC14NTestCase-class.html"><a title="lxml.tests.test_etree.ETreeC14NTestCase" class="py-name" href="#" onclick="return doclink('link-4439', 'ETreeC14NTestCase', 'link-4439');">ETreeC14NTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4359"></a><tt class="py-lineno">4359</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-4440" class="py-name" targets="Class lxml.tests.test_etree.ETreeWriteTestCase=lxml.tests.test_etree.ETreeWriteTestCase-class.html"><a title="lxml.tests.test_etree.ETreeWriteTestCase" class="py-name" href="#" onclick="return doclink('link-4440', 'ETreeWriteTestCase', 'link-4440');">ETreeWriteTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4360"></a><tt class="py-lineno">4360</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-4441" class="py-name" targets="Class lxml.tests.test_etree.ETreeErrorLogTest=lxml.tests.test_etree.ETreeErrorLogTest-class.html"><a title="lxml.tests.test_etree.ETreeErrorLogTest" class="py-name" href="#" onclick="return doclink('link-4441', 'ETreeErrorLogTest', 'link-4441');">ETreeErrorLogTest</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4361"></a><tt class="py-lineno">4361</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-4442" class="py-name" targets="Class lxml.tests.test_etree.XMLPullParserTest=lxml.tests.test_etree.XMLPullParserTest-class.html"><a title="lxml.tests.test_etree.XMLPullParserTest" class="py-name" href="#" onclick="return doclink('link-4442', 'XMLPullParserTest', 'link-4442');">XMLPullParserTest</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4362"></a><tt class="py-lineno">4362</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-4443" 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-4443', 'etree', 'link-10');">etree</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-<a name="L4363"></a><tt class="py-lineno">4363</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="L4364"></a><tt class="py-lineno">4364</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4444" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4444', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/tutorial.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4365"></a><tt class="py-lineno">4365</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">&gt;=</tt> <tt class="py-op">(</tt><tt class="py-number">2</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="L4366"></a><tt class="py-lineno">4366</tt>  <tt class="py-line">        <tt class="py-comment"># now requires the 'with' statement</tt> </tt>
-<a name="L4367"></a><tt class="py-lineno">4367</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="L4368"></a><tt class="py-lineno">4368</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt id="link-4445" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4445', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/api.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4369"></a><tt class="py-lineno">4369</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="L4370"></a><tt class="py-lineno">4370</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4446" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4446', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/FAQ.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4371"></a><tt class="py-lineno">4371</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="L4372"></a><tt class="py-lineno">4372</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4447" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4447', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/parsing.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4373"></a><tt class="py-lineno">4373</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="L4374"></a><tt class="py-lineno">4374</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4448" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4448', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/resolvers.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L4375"></a><tt class="py-lineno">4375</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
-</div><a name="L4376"></a><tt class="py-lineno">4376</tt>  <tt class="py-line"> </tt>
-<a name="L4377"></a><tt class="py-lineno">4377</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="L4378"></a><tt class="py-lineno">4378</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="L4379"></a><tt class="py-lineno">4379</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+xml.etree.ElementTree.Element.tag" class="py-name" href="#" onclick="return doclink('link-4411', 'tag', 'link-68');">tag</a></tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L4342"></a><tt class="py-lineno">4342</tt>  <tt class="py-line"> </tt>
+<a name="L4343"></a><tt class="py-lineno">4343</tt>  <tt class="py-line"> </tt>
+<a name="test_suite"></a><div id="test_suite-def"><a name="L4344"></a><tt class="py-lineno">4344</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_etree-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="L4345"></a><tt class="py-lineno">4345</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="L4346"></a><tt class="py-lineno">4346</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-4412" class="py-name" targets="Class lxml.tests.test_etree.ETreeOnlyTestCase=lxml.tests.test_etree.ETreeOnlyTestCase-class.html"><a title="lxml.tests.test_etree.ETreeOnlyTestCase" class="py-name" href="#" onclick="return doclink('link-4412', 'ETreeOnlyTestCase', 'link-4412');">ETreeOnlyTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4347"></a><tt class="py-lineno">4347</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-4413" class="py-name" targets="Class lxml.tests.test_etree.ETreeXIncludeTestCase=lxml.tests.test_etree.ETreeXIncludeTestCase-class.html"><a title="lxml.tests.test_etree.ETreeXIncludeTestCase" class="py-name" href="#" onclick="return doclink('link-4413', 'ETreeXIncludeTestCase', 'link-4413');">ETreeXIncludeTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4348"></a><tt class="py-lineno">4348</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-4414" class="py-name" targets="Class lxml.tests.test_etree.ElementIncludeTestCase=lxml.tests.test_etree.ElementIncludeTestCase-class.html"><a title="lxml.tests.test_etree.ElementIncludeTestCase" class="py-name" href="#" onclick="return doclink('link-4414', 'ElementIncludeTestCase', 'link-4414');">ElementIncludeTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4349"></a><tt class="py-lineno">4349</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-4415" class="py-name" targets="Class lxml.tests.test_etree.ETreeC14NTestCase=lxml.tests.test_etree.ETreeC14NTestCase-class.html"><a title="lxml.tests.test_etree.ETreeC14NTestCase" class="py-name" href="#" onclick="return doclink('link-4415', 'ETreeC14NTestCase', 'link-4415');">ETreeC14NTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4350"></a><tt class="py-lineno">4350</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-4416" class="py-name" targets="Class lxml.tests.test_etree.ETreeWriteTestCase=lxml.tests.test_etree.ETreeWriteTestCase-class.html"><a title="lxml.tests.test_etree.ETreeWriteTestCase" class="py-name" href="#" onclick="return doclink('link-4416', 'ETreeWriteTestCase', 'link-4416');">ETreeWriteTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4351"></a><tt class="py-lineno">4351</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-4417" class="py-name" targets="Class lxml.tests.test_etree.ETreeErrorLogTest=lxml.tests.test_etree.ETreeErrorLogTest-class.html"><a title="lxml.tests.test_etree.ETreeErrorLogTest" class="py-name" href="#" onclick="return doclink('link-4417', 'ETreeErrorLogTest', 'link-4417');">ETreeErrorLogTest</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4352"></a><tt class="py-lineno">4352</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-4418" class="py-name" targets="Class lxml.tests.test_etree.XMLPullParserTest=lxml.tests.test_etree.XMLPullParserTest-class.html"><a title="lxml.tests.test_etree.XMLPullParserTest" class="py-name" href="#" onclick="return doclink('link-4418', 'XMLPullParserTest', 'link-4418');">XMLPullParserTest</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4353"></a><tt class="py-lineno">4353</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-4419" 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-4419', 'etree', 'link-10');">etree</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L4354"></a><tt class="py-lineno">4354</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="L4355"></a><tt class="py-lineno">4355</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4420" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4420', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/tutorial.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4356"></a><tt class="py-lineno">4356</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">&gt;=</tt> <tt class="py-op">(</tt><tt class="py-number">2</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="L4357"></a><tt class="py-lineno">4357</tt>  <tt class="py-line">        <tt class="py-comment"># now requires the 'with' statement</tt> </tt>
+<a name="L4358"></a><tt class="py-lineno">4358</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="L4359"></a><tt class="py-lineno">4359</tt>  <tt class="py-line">            <tt class="py-op">[</tt><tt id="link-4421" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4421', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/api.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4360"></a><tt class="py-lineno">4360</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="L4361"></a><tt class="py-lineno">4361</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4422" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4422', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/FAQ.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4362"></a><tt class="py-lineno">4362</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="L4363"></a><tt class="py-lineno">4363</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4423" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4423', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/parsing.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4364"></a><tt class="py-lineno">4364</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="L4365"></a><tt class="py-lineno">4365</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-4424" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-4424', 'make_doctest', 'link-20');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/resolvers.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L4366"></a><tt class="py-lineno">4366</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
+</div><a name="L4367"></a><tt class="py-lineno">4367</tt>  <tt class="py-line"> </tt>
+<a name="L4368"></a><tt class="py-lineno">4368</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="L4369"></a><tt class="py-lineno">4369</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="L4370"></a><tt class="py-lineno">4370</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -11760,7 +11731,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d4c33501d101e32e09d73d77e699182571acfeaa..98650c2dfca2f8750b3bd6de2f00dbffbdebcda1 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index bf915a0a72aa3d3804b8377f1d40dbdd09ede2fb..e5686971f56ee959b721fe74e272b837c1a1032a 100644 (file)
@@ -402,7 +402,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a4d353dc301e43570a21c11824dd9bcd2ed099bd..790b76968c0b4f691722c651af520ef8fc65ad5e 100644 (file)
@@ -436,6 +436,38 @@ Tests only for etree, not ElementTree
         </tr>
       </table>
       
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_attribute_set"></a><span class="summary-sig-name">test_attribute_set</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_etree-pysrc.html#ETreeOnlyTestCase.test_attribute_set">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_attribute_set_nonstring"></a><span class="summary-sig-name">test_attribute_set_nonstring</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_etree-pysrc.html#ETreeOnlyTestCase.test_attribute_set_nonstring">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
     </td>
   </tr>
 <tr>
@@ -756,22 +788,6 @@ Tests only for etree, not ElementTree
         </tr>
       </table>
       
-    </td>
-  </tr>
-<tr>
-    <td width="15%" align="right" valign="top" class="summary">
-      <span class="summary-type">&nbsp;</span>
-    </td><td class="summary">
-      <table width="100%" cellpadding="0" cellspacing="0" border="0">
-        <tr>
-          <td><span class="summary-sig"><a name="test_attribute_set"></a><span class="summary-sig-name">test_attribute_set</span>(<span class="summary-sig-arg">self</span>)</span></td>
-          <td align="right" valign="top">
-            <span class="codelink"><a href="lxml.tests.test_etree-pysrc.html#ETreeOnlyTestCase.test_attribute_set">source&nbsp;code</a></span>
-            
-          </td>
-        </tr>
-      </table>
-      
     </td>
   </tr>
 <tr>
@@ -4296,7 +4312,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 93ff7c496bad00e02b5f153e6f6b36a32300c787..9110d6662b5bd36c2d107d912fa036997a2f3a1a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6823c5ece8015343571ec3134a7669f69b14df19..6bac6a0ce793a6323571888d090ebd588ae6e30d 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a7a02ae115f7d5cceffb7fd40a93ada43c9e9113..ccef225c9022669d051fad022ad3b442bef044ce 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 7905193394468f91dd9af3565c93f2d066b91754..0ae36d40b34fa74d8d00a1388aba5b9bec8f08f0 100644 (file)
@@ -440,7 +440,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 91ba21a290a6c9751811fad550093728d26f63ff..e4057a9ea256b3a93c745d05a8b7b5eacd8139a9 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4d0a0c83dd62eaf55643d45baf9e8a75b043c276..04336026904208ff3ef6b0ed0cdae3700c4b618c 100644 (file)
@@ -232,7 +232,7 @@ HTML parser test cases for etree
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index faebd86f45d6029b9440a90e259bc061601eb85b..8c9bfc71cec78aed82bced56437176de079aea1e 100644 (file)
@@ -1622,7 +1622,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c56c1e7698db466004efed3dd83ca196435da6f5..d3a314639b09dc30d2e402c6d424d1b9d6db134b 100644 (file)
@@ -1116,7 +1116,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 369ddfe42e08231f68cca56bcddc90cfe7648cb7..7ad7837cd7c8a885e69b25c1b99c3df2ae8debc8 100644 (file)
@@ -223,7 +223,7 @@ Web IO test cases that need Python 2.5+ (wsgiref)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index bef6f2e00a7c791a07ebf16c160cf2f49785e2a8..01c8405aac1f767c7d9eee844763f0e25919aa81 100644 (file)
@@ -462,7 +462,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b5a77e92d2bc1a37f5eec151601cf566f06ef83c..815da007c87a0825dda24b80c25b219ccdd28d5a 100644 (file)
@@ -468,7 +468,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f12d35a94a2b432ce1ae1799c83f124bcec381ef..1ab5b0cf093e5ce26713ca0ea0e66aa344f10a8d 100644 (file)
         <a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html" class="summary-name">SimpleFileLikeXmlFileTestCase</a>
     </td>
   </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+        <a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html" class="summary-name">HtmlFileTestCase</a>
+    </td>
+  </tr>
 </table>
 <!-- ==================== FUNCTIONS ==================== -->
 <a name="section-Functions"></a>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index ca8144cba51f1fd9e8430d0ff4fb86230d215fe4..6b841f222fc905e66d65caf826bb3d38d727c141 100644 (file)
@@ -726,19 +726,130 @@ lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
 <a name="L334"></a><tt class="py-lineno">334</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">self</tt><tt class="py-op">.</tt><tt id="link-219" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-219', '_file', 'link-10');">_file</a></tt><tt class="py-op">.</tt><tt class="py-name">closed</tt><tt class="py-op">)</tt> </tt>
 <a name="L335"></a><tt class="py-lineno">335</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-220" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-220', '_file', 'link-10');">_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">None</tt>  <tt class="py-comment"># prevent closing in tearDown()</tt> </tt>
 </div></div><a name="L336"></a><tt class="py-lineno">336</tt>  <tt class="py-line"> </tt>
-<a name="test_suite"></a><div id="test_suite-def"><a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"> </tt>
-<a name="L338"></a><tt class="py-lineno">338</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_incremental_xmlfile-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="L339"></a><tt class="py-lineno">339</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="L340"></a><tt class="py-lineno">340</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-221" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase=lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-221', 'BytesIOXmlFileTestCase', 'link-221');">BytesIOXmlFileTestCase</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-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-222" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase=lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-222', 'TempXmlFileTestCase', 'link-222');">TempXmlFileTestCase</a></tt><tt class="py-op">)</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">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-223" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase=lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-223', 'TempPathXmlFileTestCase', 'link-223');">TempPathXmlFileTestCase</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 class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-224" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-224', 'SimpleFileLikeXmlFileTestCase', 'link-224');">SimpleFileLikeXmlFileTestCase</a></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-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
-</div><a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line"> </tt>
-<a name="L347"></a><tt class="py-lineno">347</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="L348"></a><tt class="py-lineno">348</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="L349"></a><tt class="py-lineno">349</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<a name="HtmlFileTestCase"></a><div id="HtmlFileTestCase-def"><a name="L337"></a><tt class="py-lineno">337</tt>  <tt class="py-line"> </tt>
+<a name="L338"></a><tt class="py-lineno">338</tt> <a class="py-toggle" href="#" id="HtmlFileTestCase-toggle" onclick="return toggle('HtmlFileTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a><tt class="py-op">(</tt><tt class="py-base-class">_XmlFileTestCaseBase</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HtmlFileTestCase-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="HtmlFileTestCase-expanded"><a name="HtmlFileTestCase.setUp"></a><div id="HtmlFileTestCase.setUp-def"><a name="L339"></a><tt class="py-lineno">339</tt> <a class="py-toggle" href="#" id="HtmlFileTestCase.setUp-toggle" onclick="return toggle('HtmlFileTestCase.setUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#setUp">setUp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HtmlFileTestCase.setUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HtmlFileTestCase.setUp-expanded"><a name="L340"></a><tt class="py-lineno">340</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-221" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-221', '_file', 'link-10');">_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L341"></a><tt class="py-lineno">341</tt>  <tt class="py-line"> </tt>
+<a name="HtmlFileTestCase.test_void_elements"></a><div id="HtmlFileTestCase.test_void_elements-def"><a name="L342"></a><tt class="py-lineno">342</tt> <a class="py-toggle" href="#" id="HtmlFileTestCase.test_void_elements-toggle" onclick="return toggle('HtmlFileTestCase.test_void_elements');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_void_elements">test_void_elements</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HtmlFileTestCase.test_void_elements-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HtmlFileTestCase.test_void_elements-expanded"><a name="L343"></a><tt class="py-lineno">343</tt>  <tt class="py-line">        <tt class="py-comment"># http://www.w3.org/TR/html5/syntax.html#elements-0</tt> </tt>
+<a name="L344"></a><tt class="py-lineno">344</tt>  <tt class="py-line">        <tt class="py-name">void_elements</tt> <tt class="py-op">=</tt> <tt id="link-222" class="py-name"><a title="lxml.etree._Element.set
+lxml.etree._XSLTProcessingInstruction.set" class="py-name" href="#" onclick="return doclink('link-222', 'set', 'link-49');">set</a></tt><tt class="py-op">(</tt><tt class="py-op">[</tt> </tt>
+<a name="L345"></a><tt class="py-lineno">345</tt>  <tt class="py-line">            <tt class="py-string">"area"</tt><tt class="py-op">,</tt> <tt class="py-string">"base"</tt><tt class="py-op">,</tt> <tt class="py-string">"br"</tt><tt class="py-op">,</tt> <tt class="py-string">"col"</tt><tt class="py-op">,</tt> <tt class="py-string">"embed"</tt><tt class="py-op">,</tt> <tt class="py-string">"hr"</tt><tt class="py-op">,</tt> <tt class="py-string">"img"</tt><tt class="py-op">,</tt> </tt>
+<a name="L346"></a><tt class="py-lineno">346</tt>  <tt class="py-line">            <tt class="py-string">"input"</tt><tt class="py-op">,</tt> <tt class="py-string">"keygen"</tt><tt class="py-op">,</tt> <tt class="py-string">"link"</tt><tt class="py-op">,</tt> <tt class="py-string">"meta"</tt><tt class="py-op">,</tt> <tt class="py-string">"param"</tt><tt class="py-op">,</tt> </tt>
+<a name="L347"></a><tt class="py-lineno">347</tt>  <tt class="py-line">            <tt class="py-string">"source"</tt><tt class="py-op">,</tt> <tt class="py-string">"track"</tt><tt class="py-op">,</tt> <tt class="py-string">"wbr"</tt> </tt>
+<a name="L348"></a><tt class="py-lineno">348</tt>  <tt class="py-line">        <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>
+<a name="L350"></a><tt class="py-lineno">350</tt>  <tt class="py-line">        <tt class="py-comment"># FIXME: These don't get serialized as void elements.</tt> </tt>
+<a name="L351"></a><tt class="py-lineno">351</tt>  <tt class="py-line">        <tt class="py-name">void_elements</tt><tt class="py-op">.</tt><tt class="py-name">difference_update</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 class="py-string">'area'</tt><tt class="py-op">,</tt> <tt class="py-string">'embed'</tt><tt class="py-op">,</tt> <tt class="py-string">'keygen'</tt><tt class="py-op">,</tt> <tt class="py-string">'source'</tt><tt class="py-op">,</tt> <tt class="py-string">'track'</tt><tt class="py-op">,</tt> <tt class="py-string">'wbr'</tt> </tt>
+<a name="L353"></a><tt class="py-lineno">353</tt>  <tt class="py-line">        <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>
+<a name="L355"></a><tt class="py-lineno">355</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt id="link-223" 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-51');">tag</a></tt> <tt class="py-keyword">in</tt> <tt class="py-name">sorted</tt><tt class="py-op">(</tt><tt class="py-name">void_elements</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 class="py-keyword">with</tt> <tt id="link-224" 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-224', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-225" class="py-name" targets="Class lxml.etree.htmlfile=lxml.etree.htmlfile-class.html"><a title="lxml.etree.htmlfile" class="py-name" href="#" onclick="return doclink('link-225', 'htmlfile', 'link-225');">htmlfile</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-226" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-226', '_file', 'link-10');">_file</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">xf</tt><tt class="py-op">:</tt> </tt>
+<a name="L357"></a><tt class="py-lineno">357</tt>  <tt class="py-line">                <tt class="py-name">xf</tt><tt class="py-op">.</tt><tt id="link-227" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-227', 'write', 'link-18');">write</a></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-228', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-229" 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-229', 'Element', 'link-39');">Element</a></tt><tt class="py-op">(</tt><tt id="link-230" 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-230', 'tag', 'link-51');">tag</a></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">self</tt><tt class="py-op">.</tt><tt id="link-231" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.assertXml" class="py-name" href="#" onclick="return doclink('link-231', 'assertXml', 'link-14');">assertXml</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;%s&gt;'</tt> <tt class="py-op">%</tt> <tt id="link-232" 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-232', 'tag', 'link-51');">tag</a></tt><tt class="py-op">)</tt> </tt>
+<a name="L359"></a><tt class="py-lineno">359</tt>  <tt class="py-line">            <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-233" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-233', '_file', 'link-10');">_file</a></tt> <tt class="py-op">=</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L360"></a><tt class="py-lineno">360</tt>  <tt class="py-line"> </tt>
+<a name="HtmlFileTestCase.test_write_declaration"></a><div id="HtmlFileTestCase.test_write_declaration-def"><a name="L361"></a><tt class="py-lineno">361</tt> <a class="py-toggle" href="#" id="HtmlFileTestCase.test_write_declaration-toggle" onclick="return toggle('HtmlFileTestCase.test_write_declaration');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_write_declaration">test_write_declaration</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="HtmlFileTestCase.test_write_declaration-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HtmlFileTestCase.test_write_declaration-expanded"><a name="L362"></a><tt class="py-lineno">362</tt>  <tt class="py-line">        <tt class="py-keyword">with</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-234', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-235" class="py-name"><a title="lxml.etree.htmlfile" class="py-name" href="#" onclick="return doclink('link-235', 'htmlfile', 'link-225');">htmlfile</a></tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-236" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-236', '_file', 'link-10');">_file</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">xf</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">try</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">xf</tt><tt class="py-op">.</tt><tt class="py-name">write_declaration</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 class="py-keyword">except</tt> <tt id="link-237" 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-237', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-238" class="py-name"><a title="lxml.etree.LxmlSyntaxError" class="py-name" href="#" onclick="return doclink('link-238', 'LxmlSyntaxError', 'link-144');">LxmlSyntaxError</a></tt><tt class="py-op">:</tt> </tt>
+<a name="L366"></a><tt class="py-lineno">366</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">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L367"></a><tt class="py-lineno">367</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L368"></a><tt class="py-lineno">368</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">False</tt><tt class="py-op">)</tt> </tt>
+<a name="L369"></a><tt class="py-lineno">369</tt>  <tt class="py-line">            <tt class="py-name">xf</tt><tt class="py-op">.</tt><tt id="link-239" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-239', 'write', 'link-18');">write</a></tt><tt class="py-op">(</tt><tt id="link-240" 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-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-241" 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-241', 'Element', 'link-39');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'html'</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="HtmlFileTestCase.test_write_namespaced_element"></a><div id="HtmlFileTestCase.test_write_namespaced_element-def"><a name="L371"></a><tt class="py-lineno">371</tt> <a class="py-toggle" href="#" id="HtmlFileTestCase.test_write_namespaced_element-toggle" onclick="return toggle('HtmlFileTestCase.test_write_namespaced_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_write_namespaced_element">test_write_namespaced_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="HtmlFileTestCase.test_write_namespaced_element-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HtmlFileTestCase.test_write_namespaced_element-expanded"><a name="L372"></a><tt class="py-lineno">372</tt>  <tt class="py-line">        <tt class="py-keyword">with</tt> <tt id="link-242" 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-242', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-243" class="py-name"><a title="lxml.etree.htmlfile" class="py-name" href="#" onclick="return doclink('link-243', 'htmlfile', 'link-225');">htmlfile</a></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.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-244', '_file', 'link-10');">_file</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">xf</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">xf</tt><tt class="py-op">.</tt><tt id="link-245" class="py-name"><a title="lxml.etree._ElementTree.write" class="py-name" href="#" onclick="return doclink('link-245', 'write', 'link-18');">write</a></tt><tt class="py-op">(</tt><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-246', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-247" 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-247', 'Element', 'link-39');">Element</a></tt><tt class="py-op">(</tt><tt class="py-string">'{some_ns}some_tag'</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L374"></a><tt class="py-lineno">374</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-248" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.assertXml" class="py-name" href="#" onclick="return doclink('link-248', 'assertXml', 'link-14');">assertXml</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;ns0:some_tag xmlns:ns0="some_ns"&gt;&lt;/ns0:some_tag&gt;'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L375"></a><tt class="py-lineno">375</tt>  <tt class="py-line"> </tt>
+<a name="HtmlFileTestCase.test_open_namespaced_element"></a><div id="HtmlFileTestCase.test_open_namespaced_element-def"><a name="L376"></a><tt class="py-lineno">376</tt> <a class="py-toggle" href="#" id="HtmlFileTestCase.test_open_namespaced_element-toggle" onclick="return toggle('HtmlFileTestCase.test_open_namespaced_element');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#test_open_namespaced_element">test_open_namespaced_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="HtmlFileTestCase.test_open_namespaced_element-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="HtmlFileTestCase.test_open_namespaced_element-expanded"><a name="L377"></a><tt class="py-lineno">377</tt>  <tt class="py-line">        <tt class="py-keyword">with</tt> <tt id="link-249" 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-249', 'etree', 'link-8');">etree</a></tt><tt class="py-op">.</tt><tt id="link-250" class="py-name"><a title="lxml.etree.htmlfile" class="py-name" href="#" onclick="return doclink('link-250', 'htmlfile', 'link-225');">htmlfile</a></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.tests.test_incremental_xmlfile._XmlFileTestCaseBase._file" class="py-name" href="#" onclick="return doclink('link-251', '_file', 'link-10');">_file</a></tt><tt class="py-op">)</tt> <tt class="py-keyword">as</tt> <tt class="py-name">xf</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno">378</tt>  <tt class="py-line">            <tt class="py-keyword">with</tt> <tt class="py-name">xf</tt><tt class="py-op">.</tt><tt class="py-name">element</tt><tt class="py-op">(</tt><tt class="py-string">"{some_ns}some_tag"</tt><tt class="py-op">)</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">pass</tt> </tt>
+<a name="L380"></a><tt class="py-lineno">380</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-252" class="py-name"><a title="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase.assertXml" class="py-name" href="#" onclick="return doclink('link-252', 'assertXml', 'link-14');">assertXml</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;ns0:some_tag xmlns:ns0="some_ns"&gt;&lt;/ns0:some_tag&gt;'</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L381"></a><tt class="py-lineno">381</tt>  <tt class="py-line"> </tt>
+<a name="test_suite"></a><div id="test_suite-def"><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> <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_incremental_xmlfile-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="L384"></a><tt class="py-lineno">384</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="L385"></a><tt class="py-lineno">385</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-253" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase=lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-253', 'BytesIOXmlFileTestCase', 'link-253');">BytesIOXmlFileTestCase</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-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-254" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase=lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-254', 'TempXmlFileTestCase', 'link-254');">TempXmlFileTestCase</a></tt><tt class="py-op">)</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">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-255" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase=lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-255', 'TempPathXmlFileTestCase', 'link-255');">TempPathXmlFileTestCase</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 class="py-name">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-256" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-256', 'SimpleFileLikeXmlFileTestCase', 'link-256');">SimpleFileLikeXmlFileTestCase</a></tt><tt class="py-op">)</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">unittest</tt><tt class="py-op">.</tt><tt class="py-name">makeSuite</tt><tt class="py-op">(</tt><tt id="link-257" class="py-name" targets="Class lxml.tests.test_incremental_xmlfile.HtmlFileTestCase=lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html"><a title="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase" class="py-name" href="#" onclick="return doclink('link-257', 'HtmlFileTestCase', 'link-257');">HtmlFileTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L390"></a><tt class="py-lineno">390</tt>  <tt class="py-line">                    <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-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
+</div><a name="L392"></a><tt class="py-lineno">392</tt>  <tt class="py-line"> </tt>
+<a name="L393"></a><tt class="py-lineno">393</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="L394"></a><tt class="py-lineno">394</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="L395"></a><tt class="py-lineno">395</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -776,7 +887,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 22e140ec3585ec47b0583de968e060e86227c107..112cee71706de18f1b69b9c58f1be18ca46ba038 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
diff --git a/doc/html/api/lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html b/doc/html/api/lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html
new file mode 100644 (file)
index 0000000..9f32aa9
--- /dev/null
@@ -0,0 +1,503 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>lxml.tests.test_incremental_xmlfile.HtmlFileTestCase</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="/">lxml API</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="lxml-module.html">Package&nbsp;lxml</a> ::
+        <a href="lxml.tests-module.html">Package&nbsp;tests</a> ::
+        <a href="lxml.tests.test_incremental_xmlfile-module.html">Module&nbsp;test_incremental_xmlfile</a> ::
+        Class&nbsp;HtmlFileTestCase
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >]&nbsp;|&nbsp;<a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html"
+            target="_top">no&nbsp;frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class HtmlFileTestCase</h1><p class="nomargin-top"><span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase">source&nbsp;code</a></span></p>
+<pre class="base-tree">
+               object --+            
+                        |            
+   unittest.case.TestCase --+        
+                            |        
+<a href="lxml.tests.common_imports.HelperTestCase-class.html">common_imports.HelperTestCase</a> --+    
+                                |    
+             <a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a> --+
+                                    |
+                                   <strong class="uidshort">HtmlFileTestCase</strong>
+</pre>
+
+<hr />
+<!-- ==================== NESTED CLASSES ==================== -->
+<a name="section-NestedClasses"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Nested Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-NestedClasses"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.case.TestCase</code></b>:
+      <code><a href="exceptions.AssertionError-class.html">failureException</a></code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#setUp" class="summary-sig-name">setUp</a>(<span class="summary-sig-arg">self</span>)</span><br />
+      Hook method for setting up the test fixture before exercising it.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase.setUp">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_void_elements"></a><span class="summary-sig-name">test_void_elements</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase.test_void_elements">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_write_declaration"></a><span class="summary-sig-name">test_write_declaration</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase.test_write_declaration">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_write_namespaced_element"></a><span class="summary-sig-name">test_write_namespaced_element</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase.test_write_namespaced_element">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">&nbsp;</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="test_open_namespaced_element"></a><span class="summary-sig-name">test_open_namespaced_element</span>(<span class="summary-sig-arg">self</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase.test_open_namespaced_element">source&nbsp;code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a></code></b>:
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#assertXml">assertXml</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#tearDown">tearDown</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_anonymous_namespace">test_anonymous_namespace</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_attribute">test_attribute</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_buffering">test_buffering</a></code>,
+      <code><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></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_comment">test_comment</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_default_namespace">test_default_namespace</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element">test_element</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested">test_element_nested</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_nested_with_text">test_element_nested_with_text</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_element_write_text">test_element_write_text</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_encoding">test_encoding</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_escaping">test_escaping</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_preceding_text">test_failure_preceding_text</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_Element">test_failure_trailing_Element</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_failure_trailing_text">test_failure_trailing_text</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_flush">test_flush</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_anonymous">test_namespace_nested_anonymous</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nested_nsmap">test_namespace_nested_nsmap</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_namespace_nsmap">test_namespace_nsmap</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_nested_default_namespace">test_nested_default_namespace</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_pi">test_pi</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_write_Element">test_write_Element</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#test_write_Element_repeatedly">test_write_Element_repeatedly</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a></code></b> (private):
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_parse_file" onclick="show_private();">_parse_file</a></code>,
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_read_file" onclick="show_private();">_read_file</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.tests.common_imports.HelperTestCase-class.html">common_imports.HelperTestCase</a></code></b>:
+      <code><a href="lxml.tests.common_imports.HelperTestCase-class.html#parse">parse</a></code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.tests.common_imports.HelperTestCase-class.html">common_imports.HelperTestCase</a></code></b> (private):
+      <code><a href="lxml.tests.common_imports.HelperTestCase-class.html#_rootstring" onclick="show_private();">_rootstring</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.case.TestCase</code></b>:
+      <code>__call__</code>,
+      <code>__eq__</code>,
+      <code>__hash__</code>,
+      <code>__init__</code>,
+      <code>__ne__</code>,
+      <code>__repr__</code>,
+      <code>__str__</code>,
+      <code>addCleanup</code>,
+      <code>addTypeEqualityFunc</code>,
+      <code>assertAlmostEqual</code>,
+      <code>assertAlmostEquals</code>,
+      <code>assertDictContainsSubset</code>,
+      <code>assertDictEqual</code>,
+      <code>assertEqual</code>,
+      <code>assertEquals</code>,
+      <code>assertGreater</code>,
+      <code>assertGreaterEqual</code>,
+      <code>assertIn</code>,
+      <code>assertIs</code>,
+      <code>assertIsInstance</code>,
+      <code>assertIsNone</code>,
+      <code>assertIsNot</code>,
+      <code>assertIsNotNone</code>,
+      <code>assertItemsEqual</code>,
+      <code>assertLess</code>,
+      <code>assertLessEqual</code>,
+      <code>assertListEqual</code>,
+      <code>assertMultiLineEqual</code>,
+      <code>assertNotAlmostEqual</code>,
+      <code>assertNotAlmostEquals</code>,
+      <code>assertNotEqual</code>,
+      <code>assertNotEquals</code>,
+      <code>assertNotIn</code>,
+      <code>assertNotIsInstance</code>,
+      <code>assertNotRegexpMatches</code>,
+      <code>assertRaises</code>,
+      <code>assertRaisesRegexp</code>,
+      <code>assertRegexpMatches</code>,
+      <code>assertSequenceEqual</code>,
+      <code>assertSetEqual</code>,
+      <code>assertTrue</code>,
+      <code>assertTupleEqual</code>,
+      <code>assert_</code>,
+      <code>countTestCases</code>,
+      <code>debug</code>,
+      <code>defaultTestResult</code>,
+      <code>doCleanups</code>,
+      <code>fail</code>,
+      <code>failIf</code>,
+      <code>failIfAlmostEqual</code>,
+      <code>failIfEqual</code>,
+      <code>failUnless</code>,
+      <code>failUnlessAlmostEqual</code>,
+      <code>failUnlessEqual</code>,
+      <code>failUnlessRaises</code>,
+      <code>id</code>,
+      <code>run</code>,
+      <code>shortDescription</code>,
+      <code>skipTest</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.case.TestCase</code></b> (private):
+      <code>_addSkip</code>,
+      <code>_baseAssertEqual</code>,
+      <code>_deprecate</code>,
+      <code>_formatMessage</code>,
+      <code>_getAssertEqualityFunc</code>,
+      <code>_truncateMessage</code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__delattr__</code>,
+      <code>__format__</code>,
+      <code>__getattribute__</code>,
+      <code>__new__</code>,
+      <code>__reduce__</code>,
+      <code>__reduce_ex__</code>,
+      <code>__setattr__</code>,
+      <code>__sizeof__</code>,
+      <code>__subclasshook__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS METHODS ==================== -->
+<a name="section-ClassMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.case.TestCase</code></b>:
+      <code>setUpClass</code>,
+      <code>tearDownClass</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS VARIABLES ==================== -->
+<a name="section-ClassVariables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Class Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-ClassVariables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html" onclick="show_private();">_XmlFileTestCaseBase</a></code></b> (private):
+      <code><a href="lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-class.html#_file" onclick="show_private();">_file</a></code>
+      </p></div>
+    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="lxml.tests.common_imports.HelperTestCase-class.html">common_imports.HelperTestCase</a></code></b>:
+      <code><a href="lxml.tests.common_imports.HelperTestCase-class.html#assertFalse">assertFalse</a></code>
+      </p>
+    <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.case.TestCase</code></b>:
+      <code>longMessage</code>,
+      <code>maxDiff</code>
+      </p>
+    <div class="private">    <p class="indent-wrapped-lines"><b>Inherited from <code>unittest.case.TestCase</code></b> (private):
+      <code>_classSetupFailed</code>,
+      <code>_diffThreshold</code>
+      </p></div>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PROPERTIES ==================== -->
+<a name="section-Properties"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Properties</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Properties"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr>
+    <td colspan="2" class="summary">
+    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
+      <code>__class__</code>
+      </p>
+    </td>
+  </tr>
+</table>
+<!-- ==================== METHOD DETAILS ==================== -->
+<a name="section-MethodDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Method Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-MethodDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="setUp"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">setUp</span>(<span class="sig-arg">self</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="lxml.tests.test_incremental_xmlfile-pysrc.html#HtmlFileTestCase.setUp">source&nbsp;code</a></span>&nbsp;
+    </td>
+  </tr></table>
+  
+  Hook method for setting up the test fixture before exercising it.
+  <dl class="fields">
+    <dt>Overrides:
+        unittest.case.TestCase.setUp
+        <dd><em class="note">(inherited documentation)</em></dd>
+    </dt>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+  <!-- Home link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="lxml-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Tree link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Index link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Help link -->
+      <th>&nbsp;&nbsp;&nbsp;<a
+        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            ><a class="navbar" target="_top" href="/">lxml API</a></th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
index 153436457221fcf84d5b470321a6572536194355..bd6336a2a317e443fa8559bab415c4823319272c 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4e93c834f2f7a40266de2d0f5b2d27741962e9ac..d239e39e39eca15d844ff94b4dafb3e73a608b43 100644 (file)
@@ -241,7 +241,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 8fe0b2da8e837a708cf2c1f6831fce9e0fe8c831..64824cd4a351153bc112118985ecf20039568e0f 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a7195ab49c929bf6cbfad56048b8fa5c46b2c7b7..177ba186cd1f4be3dc4124f403432341197e40f7 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 43de4164bf8ccdd2c8eb569ce3d74cba4051e754..5699ca4937594b3e2a794eab98ead079f3c3e165 100644 (file)
@@ -76,7 +76,7 @@
 <dl><dt>Known Subclasses:</dt>
 <dd>
       <ul class="subclass-list">
-<li><a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html">BytesIOXmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html">TempXmlFileTestCase</a></li>  </ul>
+<li><a href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html">BytesIOXmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html">HtmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html">SimpleFileLikeXmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html">TempPathXmlFileTestCase</a></li><li>, <a href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html">TempXmlFileTestCase</a></li>  </ul>
 </dd></dl>
 
 <hr />
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e067f74191d4be929ca05d547297e7c1260fe241..80ca79d74afef0a827ceed59381cc49be09907cb 100644 (file)
@@ -238,7 +238,7 @@ IO test cases that apply to both etree and ElementTree
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 36dba8d8fafd3fbf70774f828f7a2ecaa34cf22d..0e4833f1e2ee84240ab317d7773a6c7e74148219 100644 (file)
@@ -1110,7 +1110,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 40b306b5a5c09dd0ea7c6459d46960989da41890..a11906018038e75f5dff6ad65e2c958d77bcd594 100644 (file)
@@ -407,7 +407,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2f39ff25666486b5823bf7e44691441a6887bf86..1947474986fc6c1a978fd41ffdf3d1206d7346ba 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4133ef9d6c66d53ee198d3a020f2c7ba62d05196..f4fa37ffe93dba1b858ec5048dbc524b89b064d0 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dcc619136d631ca7bb7cfead5008a5f1903f994d..7bd0262d3c128ccaa6ef4d2b0831f7b8b20034fc 100644 (file)
@@ -223,7 +223,7 @@ Test cases related to ISO-Schematron parsing and validation
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5b8604ace83e41e826b1551aa7e4e88a323c3664..9da045d202716f2db0910441988c32349b401728 100644 (file)
@@ -1612,7 +1612,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d18a604f9a899fcd9385f1a812ae6d434b22431d..50bfc9317410199f03fc02ab7f7b389372973bc7 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4039a7d7b7cfd7fad46e9201a1339e534645f9e1..de7de4d005f4c29c1f6f294840689d400db78c16 100644 (file)
@@ -224,7 +224,7 @@ namespace registry mechanism
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 87263a24d266f9c352a7ab078eb44786dd8a688b..0ef22615e9755d69ee5728d41ad82d03666d2dd9 100644 (file)
@@ -158,7 +158,8 @@ lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="retu
 </div><div id="ETreeNamespaceClassesTestCase.bluff_class.bluff-collapsed" style="display:none;" pad="+++" indent="++++++++++++++++"></div><div id="ETreeNamespaceClassesTestCase.bluff_class.bluff-expanded"><a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-string">'bluff'</tt> </tt>
 </div></div><a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"> </tt>
 <a name="ETreeNamespaceClassesTestCase.setUp"></a><div id="ETreeNamespaceClassesTestCase.setUp-def"><a name="L28"></a><tt class="py-lineno"> 28</tt> <a class="py-toggle" href="#" id="ETreeNamespaceClassesTestCase.setUp-toggle" onclick="return toggle('ETreeNamespaceClassesTestCase.setUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp">setUp</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeNamespaceClassesTestCase.setUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeNamespaceClassesTestCase.setUp-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Class lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase=lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html"><a title="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase" class="py-name" href="#" onclick="return doclink('link-14', 'ETreeNamespaceClassesTestCase', 'link-14');">ETreeNamespaceClassesTestCase</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html#setUp,Method lxml.tests.test_io._IOTestCaseBase.setUp()=lxml.tests.test_io._IOTestCaseBase-class.html#setUp,Method lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.setUp()=lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp,Method lxml.tests.test_objectify.ObjectifyTestCase.setUp()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp"><a title="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp
+</div><div id="ETreeNamespaceClassesTestCase.setUp-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeNamespaceClassesTestCase.setUp-expanded"><a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-14" class="py-name" targets="Class lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase=lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html"><a title="lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase" class="py-name" href="#" onclick="return doclink('link-14', 'ETreeNamespaceClassesTestCase', 'link-14');">ETreeNamespaceClassesTestCase</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-15" class="py-name" targets="Method lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html#setUp,Method lxml.tests.test_io._IOTestCaseBase.setUp()=lxml.tests.test_io._IOTestCaseBase-class.html#setUp,Method lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.setUp()=lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp,Method lxml.tests.test_objectify.ObjectifyTestCase.setUp()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp"><a title="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.setUp
 lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.setUp
 lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase.setUp
 lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase.setUp
@@ -591,7 +592,7 @@ 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 Wed Sep 10 19:04:32 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2cfbb4ad9f512d2f8bc9c6ad98fbc0fb5dc04c1b..1bc52ba3828e93a0c22e3d77bfc7a1df351361ad 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f550eb81c1dc596bbdd8c8bd1daa471715dbb18c..63fa5a42d8cffae591f8ec4717d3f1bd4fd8fc24 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 43254413b12850026214d8902dba63bd26104db5..020008f928bfe65b264051c49b7ea130e928866f 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b3f424c685cef32115adb6c0f889f0fc8f50f3aa..064ad5a3981e7a9b968b6aa5b96662ee91d2403b 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b66c73ee79f30d28ee0df7ecbb88a8c5a639cd31..2e83f2afedcdf4d52e92c34dc6ad607f18c64e99 100644 (file)
@@ -541,7 +541,7 @@ Tests specific to the lxml.objectify API
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dcedee26194f864e75422c66b4ba5fd793acf349..65db1565e473674a0d45875d39d5689ab7750a18 100644 (file)
@@ -231,7 +231,8 @@ lxml.tests.test_pyclasslookup.PyClassLookupTestCase.XML" class="py-name" href="#
 lxml.tests.test_pyclasslookup.PyClassLookupTestCase.parser" class="py-name" href="#" onclick="return doclink('link-65', 'parser', 'link-65');">parser</a></tt><tt class="py-op">)</tt> </tt>
 </div><a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line"> </tt>
 <a name="ObjectifyTestCase.setUp"></a><div id="ObjectifyTestCase.setUp-def"><a name="L78"></a><tt class="py-lineno">  78</tt> <a class="py-toggle" href="#" id="ObjectifyTestCase.setUp-toggle" onclick="return toggle('ObjectifyTestCase.setUp');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp">setUp</a><tt 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.setUp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.setUp-expanded"><a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-66" class="py-name" targets="Class lxml.tests.test_objectify.ObjectifyTestCase=lxml.tests.test_objectify.ObjectifyTestCase-class.html"><a title="lxml.tests.test_objectify.ObjectifyTestCase" class="py-name" href="#" onclick="return doclink('link-66', 'ObjectifyTestCase', 'link-66');">ObjectifyTestCase</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html#setUp,Method lxml.tests.test_io._IOTestCaseBase.setUp()=lxml.tests.test_io._IOTestCaseBase-class.html#setUp,Method lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.setUp()=lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp,Method lxml.tests.test_objectify.ObjectifyTestCase.setUp()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp"><a title="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp
+</div><div id="ObjectifyTestCase.setUp-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ObjectifyTestCase.setUp-expanded"><a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">        <tt class="py-name">super</tt><tt class="py-op">(</tt><tt id="link-66" class="py-name" targets="Class lxml.tests.test_objectify.ObjectifyTestCase=lxml.tests.test_objectify.ObjectifyTestCase-class.html"><a title="lxml.tests.test_objectify.ObjectifyTestCase" class="py-name" href="#" onclick="return doclink('link-66', 'ObjectifyTestCase', 'link-66');">ObjectifyTestCase</a></tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-67" class="py-name" targets="Method lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html#setUp,Method lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase.setUp()=lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html#setUp,Method lxml.tests.test_io._IOTestCaseBase.setUp()=lxml.tests.test_io._IOTestCaseBase-class.html#setUp,Method lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.setUp()=lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-class.html#setUp,Method lxml.tests.test_objectify.ObjectifyTestCase.setUp()=lxml.tests.test_objectify.ObjectifyTestCase-class.html#setUp"><a title="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase.setUp
+lxml.tests.test_incremental_xmlfile.HtmlFileTestCase.setUp
 lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.setUp
 lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase.setUp
 lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase.setUp
@@ -5379,7 +5380,7 @@ lxml.html.TextareaElement.value" class="py-name" href="#" onclick="return doclin
 <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.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.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.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__
+<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.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.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__
@@ -5418,6 +5419,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -5648,7 +5650,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0ed5b2cce0fdd38891327575f01e4c2ebb4530c6..949e3858c2a5d348a831587705f9ede4676ac4e5 100644 (file)
@@ -3557,7 +3557,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index fda1e1c12ab1f2eec7d8ef819947d738fc4e4748..344bfdf6808667c2845d3ca29dad9e7650c78da4 100644 (file)
@@ -265,7 +265,7 @@ Tests specific to the Python based class lookup.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a876fdff3aca88aa7db63de4f453783cf6263a4b..44301b5d7e4cdd93145ad52318003f558c30ad3e 100644 (file)
@@ -872,7 +872,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e8ac58158034d03629c3e23870254c9b86893151..0c5a845fdbf6d845e0d84d0f17baf63f1683254f 100644 (file)
@@ -858,7 +858,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3cee1fd2a78b3a7baddb332cf76602851ca99dda..24d39d1440aa7e4fee121f8ff82cb296d3c94b6a 100644 (file)
@@ -223,7 +223,7 @@ Test cases related to RelaxNG parsing and validation
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cb1c834930043a2b3cc172a7d11fb0b8eb689810..dea63cb3934dfad138305c275af6ef2a1347742e 100644 (file)
@@ -582,7 +582,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 6a1c435d18067416505c9eb30d5adf45b07b48bb..c6bc99d042289e52859769da5061806232d1ae19 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 818902eacfbbb9a52a81ab5328420b4efc15dfd9..561f802eb789ca8900df53196b422e04819e9f4c 100644 (file)
@@ -223,7 +223,7 @@ Test cases related to SAX I/O
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5ba21eb59782d37357682b86b2bba9608ad14d2b..8846f2c207e24c00525d6d3c6d300a6d9baab242 100644 (file)
@@ -137,485 +137,487 @@ lxml.tests.test_xmlschema.this_dir
 lxml.tests.test_xpathevaluator.this_dir
 lxml.tests.test_xslt.this_dir" class="py-name" href="#" onclick="return doclink('link-7', 'this_dir', 'link-1');">this_dir</a></tt><tt class="py-op">)</tt> <tt class="py-comment"># needed for Py3</tt> </tt>
 <a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"> </tt>
-<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name" targets="Module lxml.tests.common_imports=lxml.tests.common_imports-module.html"><a title="lxml.tests.common_imports" class="py-name" href="#" onclick="return doclink('link-8', 'common_imports', 'link-8');">common_imports</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class lxml.tests.common_imports.HelperTestCase=lxml.tests.common_imports.HelperTestCase-class.html"><a title="lxml.tests.common_imports.HelperTestCase" class="py-name" href="#" onclick="return doclink('link-9', 'HelperTestCase', 'link-9');">HelperTestCase</a></tt><tt class="py-op">,</tt> <tt class="py-name">doctest</tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Function lxml.tests.common_imports.make_doctest()=lxml.tests.common_imports-module.html#make_doctest"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-10', 'make_doctest', 'link-10');">make_doctest</a></tt><tt class="py-op">,</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Function lxml.tests.common_imports._bytes()=lxml.tests.common_imports-module.html#_bytes"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-11', '_bytes', 'link-11');">_bytes</a></tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-8" class="py-name" targets="Module lxml.tests.common_imports=lxml.tests.common_imports-module.html"><a title="lxml.tests.common_imports" class="py-name" href="#" onclick="return doclink('link-8', 'common_imports', 'link-8');">common_imports</a></tt> <tt class="py-keyword">import</tt> <tt id="link-9" class="py-name" targets="Class lxml.tests.common_imports.HelperTestCase=lxml.tests.common_imports.HelperTestCase-class.html"><a title="lxml.tests.common_imports.HelperTestCase" class="py-name" href="#" onclick="return doclink('link-9', 'HelperTestCase', 'link-9');">HelperTestCase</a></tt><tt class="py-op">,</tt> <tt id="link-10" class="py-name" targets="Function lxml.tests.common_imports.make_doctest()=lxml.tests.common_imports-module.html#make_doctest"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-10', 'make_doctest', 'link-10');">make_doctest</a></tt><tt class="py-op">,</tt> <tt class="py-name">BytesIO</tt><tt class="py-op">,</tt> <tt id="link-11" class="py-name" targets="Function lxml.tests.common_imports._bytes()=lxml.tests.common_imports-module.html#_bytes"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-11', '_bytes', 'link-11');">_bytes</a></tt> </tt>
 <a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-12" class="py-name" targets="Package lxml=lxml-module.html"><a title="lxml" class="py-name" href="#" onclick="return doclink('link-12', 'lxml', 'link-12');">lxml</a></tt> <tt class="py-keyword">import</tt> <tt id="link-13" class="py-name" targets="Module lxml.sax=lxml.sax-module.html"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-13', 'sax', 'link-13');">sax</a></tt> </tt>
 <a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt id="link-14" 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-14', 'xml', 'link-14');">xml</a></tt><tt class="py-op">.</tt><tt class="py-name">dom</tt> <tt class="py-keyword">import</tt> <tt class="py-name">pulldom</tt> </tt>
 <a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase"></a><div id="ETreeSaxTestCase-def"><a name="L17"></a><tt class="py-lineno"> 17</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase-toggle" onclick="return toggle('ETreeSaxTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</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="ETreeSaxTestCase-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ETreeSaxTestCase-expanded"><a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_simple"></a><div id="ETreeSaxTestCase.test_etree_sax_simple-def"><a name="L19"></a><tt class="py-lineno"> 19</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_simple-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_simple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_simple">test_etree_sax_simple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_simple-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_simple-expanded"><a name="L20"></a><tt class="py-lineno"> 20</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-15" 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
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase"></a><div id="ETreeSaxTestCase-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase-toggle" onclick="return toggle('ETreeSaxTestCase');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html">ETreeSaxTestCase</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="ETreeSaxTestCase-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ETreeSaxTestCase-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_simple"></a><div id="ETreeSaxTestCase.test_etree_sax_simple-def"><a name="L20"></a><tt class="py-lineno"> 20</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_simple-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_simple');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_simple">test_etree_sax_simple</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_simple-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_simple-expanded"><a name="L21"></a><tt class="py-lineno"> 21</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-15" 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-15', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;b/&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize()=lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_serialize"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-16', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-17', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;b/&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_double"></a><div id="ETreeSaxTestCase.test_etree_sax_double-def"><a name="L25"></a><tt class="py-lineno"> 25</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_double-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_double');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_double">test_etree_sax_double</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_double-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_double-expanded"><a name="L26"></a><tt class="py-lineno"> 26</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-18" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-16" class="py-name" targets="Method lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize()=lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_serialize"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-16', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-17" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-17', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;b/&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_double"></a><div id="ETreeSaxTestCase.test_etree_sax_double-def"><a name="L26"></a><tt class="py-lineno"> 26</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_double-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_double');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_double">test_etree_sax_double</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_double-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_double-expanded"><a name="L27"></a><tt class="py-lineno"> 27</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-18" 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-18', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;b&gt;bb&lt;/b&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-19', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-20', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;b&gt;bb&lt;/b&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_comment"></a><div id="ETreeSaxTestCase.test_etree_sax_comment-def"><a name="L31"></a><tt class="py-lineno"> 31</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_comment-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment">test_etree_sax_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_comment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_comment-expanded"><a name="L32"></a><tt class="py-lineno"> 32</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-21" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-19', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-20" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-20', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;b&gt;bb&lt;/b&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_comment"></a><div id="ETreeSaxTestCase.test_etree_sax_comment-def"><a name="L32"></a><tt class="py-lineno"> 32</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_comment-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_comment');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment">test_etree_sax_comment</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_comment-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_comment-expanded"><a name="L33"></a><tt class="py-lineno"> 33</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-21" 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-21', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;!-- TEST --&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-22', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-23', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;abba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_pi"></a><div id="ETreeSaxTestCase.test_etree_sax_pi-def"><a name="L37"></a><tt class="py-lineno"> 37</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_pi-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi">test_etree_sax_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="ETreeSaxTestCase.test_etree_sax_pi-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_pi-expanded"><a name="L38"></a><tt class="py-lineno"> 38</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-24" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-22" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-22', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-23" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-23', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;abba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_pi"></a><div id="ETreeSaxTestCase.test_etree_sax_pi-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_pi-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_pi');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi">test_etree_sax_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="ETreeSaxTestCase.test_etree_sax_pi-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_pi-expanded"><a name="L39"></a><tt class="py-lineno"> 39</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-24" 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-24', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;?this and that?&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-25', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-26', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;?this and that?&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_comment_root"></a><div id="ETreeSaxTestCase.test_etree_sax_comment_root-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_comment_root-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_comment_root');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment_root">test_etree_sax_comment_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="ETreeSaxTestCase.test_etree_sax_comment_root-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_comment_root-expanded"><a name="L44"></a><tt class="py-lineno"> 44</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-27" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-25" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-25', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-26" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-26', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;?this and that?&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_comment_root"></a><div id="ETreeSaxTestCase.test_etree_sax_comment_root-def"><a name="L44"></a><tt class="py-lineno"> 44</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_comment_root-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_comment_root');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_comment_root">test_etree_sax_comment_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="ETreeSaxTestCase.test_etree_sax_comment_root-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_comment_root-expanded"><a name="L45"></a><tt class="py-lineno"> 45</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-27" 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-27', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;!-- TEST --&gt;&lt;a&gt;ab&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-28', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-29', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_pi_root"></a><div id="ETreeSaxTestCase.test_etree_sax_pi_root-def"><a name="L49"></a><tt class="py-lineno"> 49</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_pi_root-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_pi_root');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi_root">test_etree_sax_pi_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="ETreeSaxTestCase.test_etree_sax_pi_root-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_pi_root-expanded"><a name="L50"></a><tt class="py-lineno"> 50</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-30" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-28" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-28', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-29" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-29', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;ab&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_pi_root"></a><div id="ETreeSaxTestCase.test_etree_sax_pi_root-def"><a name="L50"></a><tt class="py-lineno"> 50</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_pi_root-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_pi_root');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_pi_root">test_etree_sax_pi_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="ETreeSaxTestCase.test_etree_sax_pi_root-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_pi_root-expanded"><a name="L51"></a><tt class="py-lineno"> 51</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-30" 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-30', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?this and that?&gt;&lt;a&gt;ab&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-31', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-32', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?this and that?&gt;&lt;a&gt;ab&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_attributes"></a><div id="ETreeSaxTestCase.test_etree_sax_attributes-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_attributes-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_attributes">test_etree_sax_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_attributes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_attributes-expanded"><a name="L56"></a><tt class="py-lineno"> 56</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-33" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-31" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-31', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-32" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-32', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;?this and that?&gt;&lt;a&gt;ab&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</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="ETreeSaxTestCase.test_etree_sax_attributes"></a><div id="ETreeSaxTestCase.test_etree_sax_attributes-def"><a name="L56"></a><tt class="py-lineno"> 56</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_attributes-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_attributes">test_etree_sax_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_attributes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_attributes-expanded"><a name="L57"></a><tt class="py-lineno"> 57</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-33" 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-33', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a aa="5"&gt;ab&lt;b b="5"/&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-34', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-35', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a aa="5"&gt;ab&lt;b b="5"/&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_ns1"></a><div id="ETreeSaxTestCase.test_etree_sax_ns1-def"><a name="L61"></a><tt class="py-lineno"> 61</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_ns1-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_ns1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns1">test_etree_sax_ns1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_ns1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_ns1-expanded"><a name="L62"></a><tt class="py-lineno"> 62</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-36" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-34" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-34', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-35" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-35', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a aa="5"&gt;ab&lt;b b="5"/&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_ns1"></a><div id="ETreeSaxTestCase.test_etree_sax_ns1-def"><a name="L62"></a><tt class="py-lineno"> 62</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_ns1-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_ns1');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns1">test_etree_sax_ns1</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_ns1-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_ns1-expanded"><a name="L63"></a><tt class="py-lineno"> 63</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-36" 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-36', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="bla"&gt;ab&lt;b&gt;bb&lt;/b&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method lxml.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify()=lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_unsaxify"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-37', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</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" 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-38', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-39" 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-39', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{bla}a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                         <tt id="link-40" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-40', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-41" 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
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-37" class="py-name" targets="Method lxml.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify()=lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_unsaxify"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-37', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt id="link-38" 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-38', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-39" 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-39', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </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">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{bla}a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                         <tt id="link-40" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-40', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-41" 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-41', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{bla}b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                         <tt id="link-42" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-42', 'root', 'link-38');">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-43" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{bla}b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">                         <tt id="link-42" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-42', 'root', 'link-38');">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-43" 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-43', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_ns2"></a><div id="ETreeSaxTestCase.test_etree_sax_ns2-def"><a name="L70"></a><tt class="py-lineno"> 70</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_ns2-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_ns2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns2">test_etree_sax_ns2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_ns2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_ns2-expanded"><a name="L71"></a><tt class="py-lineno"> 71</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-44" class="py-name"><a title="lxml.etree._ElementTree.parse
+</div><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_ns2"></a><div id="ETreeSaxTestCase.test_etree_sax_ns2-def"><a name="L71"></a><tt class="py-lineno"> 71</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_ns2-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_ns2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns2">test_etree_sax_ns2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_ns2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_ns2-expanded"><a name="L72"></a><tt class="py-lineno"> 72</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-44" 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-44', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="blaA"&gt;ab&lt;b:b xmlns:b="blaB"&gt;bb&lt;/b:b&gt;ba&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-45', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-46', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-47', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">                         <tt id="link-48" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-48', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-49" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-45', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">        <tt id="link-46" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-46', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-47" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-47', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">                         <tt id="link-48" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-48', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-49" 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-49', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">                         <tt id="link-50" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-50', 'root', 'link-38');">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-51" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">                         <tt id="link-50" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-50', 'root', 'link-38');">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-51" 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-51', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_sax_to_pulldom"></a><div id="ETreeSaxTestCase.test_sax_to_pulldom-def"><a name="L79"></a><tt class="py-lineno"> 79</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_sax_to_pulldom-toggle" onclick="return toggle('ETreeSaxTestCase.test_sax_to_pulldom');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_sax_to_pulldom">test_sax_to_pulldom</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_sax_to_pulldom-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_sax_to_pulldom-expanded"><a name="L80"></a><tt class="py-lineno"> 80</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-52" class="py-name"><a title="lxml.etree._ElementTree.parse
+</div><a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_sax_to_pulldom"></a><div id="ETreeSaxTestCase.test_sax_to_pulldom-def"><a name="L80"></a><tt class="py-lineno"> 80</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_sax_to_pulldom-toggle" onclick="return toggle('ETreeSaxTestCase.test_sax_to_pulldom');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_sax_to_pulldom">test_sax_to_pulldom</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_sax_to_pulldom-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_sax_to_pulldom-expanded"><a name="L81"></a><tt class="py-lineno"> 81</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-52" 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-52', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a xmlns="blaA"&gt;ab&lt;b:b xmlns:b="blaB"&gt;bb&lt;/b:b&gt;ba&lt;/a&gt;'</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">handler</tt> <tt class="py-op">=</tt> <tt class="py-name">pulldom</tt><tt class="py-op">.</tt><tt class="py-name">SAX2DOM</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt id="link-53" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-53', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method lxml.sax.ElementTreeProducer.saxify()=lxml.sax.ElementTreeProducer-class.html#saxify,Function lxml.sax.saxify()=lxml.sax-module.html#saxify"><a title="lxml.sax.ElementTreeProducer.saxify
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt class="py-name">pulldom</tt><tt class="py-op">.</tt><tt class="py-name">SAX2DOM</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt id="link-53" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-53', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-54" class="py-name" targets="Method lxml.sax.ElementTreeProducer.saxify()=lxml.sax.ElementTreeProducer-class.html#saxify,Function lxml.sax.saxify()=lxml.sax-module.html#saxify"><a title="lxml.sax.ElementTreeProducer.saxify
 lxml.sax.saxify" class="py-name" href="#" onclick="return doclink('link-54', 'saxify', 'link-54');">saxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">)</tt> </tt>
-<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">        <tt class="py-name">dom</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt class="py-name">document</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">dom</tt><tt class="py-op">.</tt><tt class="py-name">firstChild</tt><tt class="py-op">.</tt><tt class="py-name">localName</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">'blaA'</tt><tt class="py-op">,</tt> </tt>
-<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">                         <tt class="py-name">dom</tt><tt class="py-op">.</tt><tt class="py-name">firstChild</tt><tt class="py-op">.</tt><tt class="py-name">namespaceURI</tt><tt class="py-op">)</tt> </tt>
-<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line"> </tt>
-<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">        <tt class="py-name">children</tt> <tt class="py-op">=</tt> <tt class="py-name">dom</tt><tt class="py-op">.</tt><tt class="py-name">firstChild</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt> </tt>
-<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ab'</tt><tt class="py-op">,</tt> </tt>
-<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">                         <tt class="py-name">children</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">nodeValue</tt><tt class="py-op">)</tt> </tt>
-<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'blaB'</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">children</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">namespaceURI</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">'ba'</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">children</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-name">nodeValue</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_element_sax"></a><div id="ETreeSaxTestCase.test_element_sax-def"><a name="L98"></a><tt class="py-lineno"> 98</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_element_sax-toggle" onclick="return toggle('ETreeSaxTestCase.test_element_sax');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax">test_element_sax</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_element_sax-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_element_sax-expanded"><a name="L99"></a><tt class="py-lineno"> 99</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-55" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">        <tt class="py-name">dom</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt class="py-name">document</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">dom</tt><tt class="py-op">.</tt><tt class="py-name">firstChild</tt><tt class="py-op">.</tt><tt class="py-name">localName</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</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">dom</tt><tt class="py-op">.</tt><tt class="py-name">firstChild</tt><tt class="py-op">.</tt><tt class="py-name">namespaceURI</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line"> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-name">children</tt> <tt class="py-op">=</tt> <tt class="py-name">dom</tt><tt class="py-op">.</tt><tt class="py-name">firstChild</tt><tt class="py-op">.</tt><tt class="py-name">childNodes</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ab'</tt><tt class="py-op">,</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">                         <tt class="py-name">children</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">nodeValue</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'blaB'</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">children</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">namespaceURI</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'ba'</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">children</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-name">nodeValue</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_element_sax"></a><div id="ETreeSaxTestCase.test_element_sax-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_element_sax-toggle" onclick="return toggle('ETreeSaxTestCase.test_element_sax');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax">test_element_sax</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_element_sax-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_element_sax-expanded"><a name="L100"></a><tt class="py-lineno">100</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-55" 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-55', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-56', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">b</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>
-<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"> </tt>
-<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-57', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-58', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"> </tt>
-<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">        <tt class="py-name">xml_out</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.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-59', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-60', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
-<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_element_sax_ns"></a><div id="ETreeSaxTestCase.test_element_sax_ns-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_element_sax_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_element_sax_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax_ns">test_element_sax_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="ETreeSaxTestCase.test_element_sax_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_element_sax_ns-expanded"><a name="L112"></a><tt class="py-lineno">112</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-61" class="py-name"><a title="lxml.etree._ElementTree.parse
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-56" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-56', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">        <tt class="py-name">b</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>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">        <tt class="py-name">xml_out</tt> <tt class="py-op">=</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt id="link-57" class="py-name"><a title="lxml.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-57', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-58" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-58', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a&gt;&lt;b/&gt;&lt;/a&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">        <tt class="py-name">xml_out</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.tests.test_sax.ETreeSaxTestCase._saxify_serialize" class="py-name" href="#" onclick="return doclink('link-59', '_saxify_serialize', 'link-16');">_saxify_serialize</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt id="link-60" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-60', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;b/&gt;'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                          <tt class="py-name">xml_out</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_element_sax_ns"></a><div id="ETreeSaxTestCase.test_element_sax_ns-def"><a name="L112"></a><tt class="py-lineno">112</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_element_sax_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_element_sax_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_element_sax_ns">test_element_sax_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="ETreeSaxTestCase.test_element_sax_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_element_sax_ns-expanded"><a name="L113"></a><tt class="py-lineno">113</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-61" 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-61', 'parse', 'link-15');">parse</a></tt><tt class="py-op">(</tt><tt class="py-string">'&lt;a:a xmlns:a="blaA"&gt;&lt;b/&gt;&lt;/a:a&gt;'</tt><tt class="py-op">)</tt> </tt>
-<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-62', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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">b</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>
-<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">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-63', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
-<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt id="link-64" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-64', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-65', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                         <tt id="link-66" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-66', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-67" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-name">a</tt> <tt class="py-op">=</tt> <tt class="py-name">tree</tt><tt class="py-op">.</tt><tt id="link-62" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-62', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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">b</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>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-63', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">a</tt><tt class="py-op">)</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">        <tt id="link-64" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-64', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-65', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                         <tt id="link-66" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-66', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-67" 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-67', 'tag', 'link-41');">tag</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-string">'b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                         <tt id="link-68" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-68', 'root', 'link-38');">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-69" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                         <tt id="link-68" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-68', 'root', 'link-38');">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-69" 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-69', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"> </tt>
-<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-70', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
-<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt id="link-71" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-71', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-72', 'getroot', 'link-39');">getroot</a></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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                         <tt id="link-73" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-73', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-74" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-70', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">b</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">        <tt id="link-71" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-71', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-72" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-72', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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-string">'b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                         <tt id="link-73" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-73', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-74" 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-74', 'tag', 'link-41');">tag</a></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">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>
-<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                         <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-75', 'root', 'link-38');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_handler_default_ns"></a><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns-def"><a name="L130"></a><tt class="py-lineno">130</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_handler_default_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_handler_default_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns">test_etree_sax_handler_default_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="ETreeSaxTestCase.test_etree_sax_handler_default_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns-expanded"><a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-76', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Class lxml.sax.ElementTreeContentHandler=lxml.sax.ElementTreeContentHandler-class.html"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-77', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startDocument()=lxml.sax.ElementTreeContentHandler-class.html#startDocument"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-78', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-79', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaA'</tt><tt class="py-op">)</tt> </tt>
-<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startElementNS()=lxml.sax.ElementTreeContentHandler-class.html#startElementNS"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-80', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-81', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaB'</tt><tt class="py-op">)</tt> </tt>
-<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-82', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endElementNS()=lxml.sax.ElementTreeContentHandler-class.html#endElementNS"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-83', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#endPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-84', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</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">handler</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-85', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</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">handler</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-86', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-87', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'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">handler</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-88', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</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">handler</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endDocument()=lxml.sax.ElementTreeContentHandler-class.html#endDocument"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-89', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"> </tt>
-<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Module lxml.etree=lxml.etree-module.html,Variable lxml.sax.ElementTreeContentHandler.etree=lxml.sax.ElementTreeContentHandler-class.html#etree,Variable lxml.tests.test_elementtree.CElementTreeTestCase.etree=lxml.tests.test_elementtree.CElementTreeTestCase-class.html#etree,Variable lxml.tests.test_elementtree._ETreeTestCaseBase.etree=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#etree,Variable lxml.tests.test_elementtree._XMLPullParserTest.etree=lxml.tests.test_elementtree._XMLPullParserTest-class.html#etree,Variable lxml.tests.test_io._IOTestCaseBase.etree=lxml.tests.test_io._IOTestCaseBase-class.html#etree"><a title="lxml.etree
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt 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>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">                         <tt class="py-name">len</tt><tt class="py-op">(</tt><tt id="link-75" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-75', 'root', 'link-38');">root</a></tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_handler_default_ns"></a><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns-def"><a name="L131"></a><tt class="py-lineno">131</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_handler_default_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_handler_default_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns">test_etree_sax_handler_default_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="ETreeSaxTestCase.test_etree_sax_handler_default_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns-expanded"><a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-76" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-76', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-77" class="py-name" targets="Class lxml.sax.ElementTreeContentHandler=lxml.sax.ElementTreeContentHandler-class.html"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-77', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-78" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startDocument()=lxml.sax.ElementTreeContentHandler-class.html#startDocument"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-78', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-79" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#startPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-79', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaA'</tt><tt class="py-op">)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-80" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startElementNS()=lxml.sax.ElementTreeContentHandler-class.html#startElementNS"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-80', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-81" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-81', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaB'</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-82" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-82', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-83" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endElementNS()=lxml.sax.ElementTreeContentHandler-class.html#endElementNS"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-83', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</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">handler</tt><tt class="py-op">.</tt><tt id="link-84" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endPrefixMapping()=lxml.sax.ElementTreeContentHandler-class.html#endPrefixMapping"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-84', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</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">handler</tt><tt class="py-op">.</tt><tt id="link-85" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-85', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-86" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-86', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">handler</tt><tt class="py-op">.</tt><tt id="link-87" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-87', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'a'</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">handler</tt><tt class="py-op">.</tt><tt id="link-88" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-88', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-89" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endDocument()=lxml.sax.ElementTreeContentHandler-class.html#endDocument"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-89', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-90" class="py-name" targets="Module lxml.etree=lxml.etree-module.html,Variable lxml.sax.ElementTreeContentHandler.etree=lxml.sax.ElementTreeContentHandler-class.html#etree,Variable lxml.tests.test_elementtree.CElementTreeTestCase.etree=lxml.tests.test_elementtree.CElementTreeTestCase-class.html#etree,Variable lxml.tests.test_elementtree._ETreeTestCaseBase.etree=lxml.tests.test_elementtree._ETreeTestCaseBase-class.html#etree,Variable lxml.tests.test_elementtree._XMLPullParserTest.etree=lxml.tests.test_elementtree._XMLPullParserTest-class.html#etree,Variable lxml.tests.test_io._IOTestCaseBase.etree=lxml.tests.test_io._IOTestCaseBase-class.html#etree"><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-90', 'etree', 'link-90');">etree</a></tt> </tt>
-<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-91', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-92', 'getroot', 'link-39');">getroot</a></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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">                         <tt id="link-93" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-93', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-94" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt id="link-91" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-91', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-92" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-92', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">                         <tt id="link-93" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-93', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-94" 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-94', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">                         <tt id="link-95" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-95', 'root', 'link-38');">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-96" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">                         <tt id="link-95" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-95', 'root', 'link-38');">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-96" 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-96', 'tag', 'link-41');">tag</a></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-string">'{blaA}c'</tt><tt class="py-op">,</tt> </tt>
-<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">                         <tt id="link-97" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-97', 'root', 'link-38');">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-98" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}c'</tt><tt class="py-op">,</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">                         <tt id="link-97" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-97', 'root', 'link-38');">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-98" 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-98', 'tag', 'link-41');">tag</a></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="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None"></a><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-def"><a name="L154"></a><tt class="py-lineno">154</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_handler_default_ns_None');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns_None">test_etree_sax_handler_default_ns_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="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-expanded"><a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-99" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-99', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-100', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-101', 'startDocument', 'link-78');">startDocument</a></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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-102', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaA'</tt><tt class="py-op">)</tt> </tt>
-<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-103', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</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-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-104', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaB'</tt><tt class="py-op">)</tt> </tt>
-<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-105', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-106', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-107', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">)</tt> </tt>
-<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-108', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</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">handler</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-109', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</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">handler</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-110', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-name">None</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-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-111', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</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">handler</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-112', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</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">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-113" class="py-name"><a title="lxml.etree
+</div><a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None"></a><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-def"><a name="L155"></a><tt class="py-lineno">155</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_handler_default_ns_None');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_handler_default_ns_None">test_etree_sax_handler_default_ns_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="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_handler_default_ns_None-expanded"><a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-99" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-99', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-100" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-100', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-101" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-101', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-102" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-102', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaA'</tt><tt class="py-op">)</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-103" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-103', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</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-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-104" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-104', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'blaB'</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-105" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-105', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-106" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-106', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-107" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-107', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</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">handler</tt><tt class="py-op">.</tt><tt id="link-108" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-108', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</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">handler</tt><tt class="py-op">.</tt><tt id="link-109" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-109', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-name">None</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-110" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-110', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-name">None</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-string">'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">handler</tt><tt class="py-op">.</tt><tt id="link-111" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-111', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-name">None</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">handler</tt><tt class="py-op">.</tt><tt id="link-112" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-112', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-113" 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-113', 'etree', 'link-90');">etree</a></tt> </tt>
-<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">        <tt id="link-114" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-114', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-115', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">                         <tt id="link-116" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-116', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-117" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">        <tt id="link-114" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-114', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-115" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-115', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                         <tt id="link-116" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-116', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-117" 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-117', 'tag', 'link-41');">tag</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                         <tt id="link-118" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-118', 'root', 'link-38');">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-119" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                         <tt id="link-118" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-118', 'root', 'link-38');">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-119" 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-119', 'tag', 'link-41');">tag</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}c'</tt><tt class="py-op">,</tt> </tt>
-<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                         <tt id="link-120" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-120', 'root', 'link-38');">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-121" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}c'</tt><tt class="py-op">,</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                         <tt id="link-120" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-120', 'root', 'link-38');">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-121" 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-121', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_redefine_ns"></a><div id="ETreeSaxTestCase.test_etree_sax_redefine_ns-def"><a name="L178"></a><tt class="py-lineno">178</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_redefine_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_redefine_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_redefine_ns">test_etree_sax_redefine_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="ETreeSaxTestCase.test_etree_sax_redefine_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_redefine_ns-expanded"><a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-122', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-123', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-124', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-125', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">,</tt> <tt class="py-string">'blaA'</tt><tt class="py-op">)</tt> </tt>
-<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-126', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'ns:a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-127', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">,</tt> <tt class="py-string">'blaB'</tt><tt class="py-op">)</tt> </tt>
-<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-128', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-129', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-130', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">)</tt> </tt>
-<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-131', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:c'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-132', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-133', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'ns: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">handler</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-134', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</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">handler</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-135', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line"> </tt>
-<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-136" class="py-name"><a title="lxml.etree
+</div><a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_redefine_ns"></a><div id="ETreeSaxTestCase.test_etree_sax_redefine_ns-def"><a name="L179"></a><tt class="py-lineno">179</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_redefine_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_redefine_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_redefine_ns">test_etree_sax_redefine_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="ETreeSaxTestCase.test_etree_sax_redefine_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_redefine_ns-expanded"><a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-122" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-122', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-123" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-123', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-124" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-124', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-125" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-125', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">,</tt> <tt class="py-string">'blaA'</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-126" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-126', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'ns:a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-127" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startPrefixMapping" class="py-name" href="#" onclick="return doclink('link-127', 'startPrefixMapping', 'link-79');">startPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">,</tt> <tt class="py-string">'blaB'</tt><tt class="py-op">)</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-128" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-128', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-129" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-129', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaB'</tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-130" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-130', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">)</tt> </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-131" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElementNS" class="py-name" href="#" onclick="return doclink('link-131', 'startElementNS', 'link-80');">startElementNS</a></tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:c'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-132" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-132', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</tt><tt class="py-op">,</tt> <tt class="py-string">'c'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-string">'ns:c'</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">handler</tt><tt class="py-op">.</tt><tt id="link-133" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElementNS" class="py-name" href="#" onclick="return doclink('link-133', 'endElementNS', 'link-83');">endElementNS</a></tt><tt class="py-op">(</tt>  <tt class="py-op">(</tt><tt class="py-string">'blaA'</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-string">'ns:a'</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">handler</tt><tt class="py-op">.</tt><tt id="link-134" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endPrefixMapping" class="py-name" href="#" onclick="return doclink('link-134', 'endPrefixMapping', 'link-84');">endPrefixMapping</a></tt><tt class="py-op">(</tt><tt class="py-string">'ns'</tt><tt class="py-op">)</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-135" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-135', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</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 class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</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-90');">etree</a></tt> </tt>
-<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt id="link-137" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-137', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-138', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
-<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                         <tt id="link-139" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-139', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-140" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">        <tt id="link-137" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-137', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-138" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-138', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}a'</tt><tt class="py-op">,</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                         <tt id="link-139" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-139', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-140" 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-140', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
-<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                         <tt id="link-141" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-141', 'root', 'link-38');">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-142" class="py-name"><a title="lxml.etree._Comment.tag
+<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-string">'{blaB}b'</tt><tt class="py-op">,</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">                         <tt id="link-141" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-141', 'root', 'link-38');">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-142" 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-142', 'tag', 'link-41');">tag</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}c'</tt><tt class="py-op">,</tt> </tt>
-<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                         <tt id="link-143" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-143', 'root', 'link-38');">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-144" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'{blaA}c'</tt><tt class="py-op">,</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                         <tt id="link-143" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-143', 'root', 'link-38');">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-144" 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-144', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-</div><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_no_ns"></a><div id="ETreeSaxTestCase.test_etree_sax_no_ns-def"><a name="L202"></a><tt class="py-lineno">202</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_no_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_no_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns">test_etree_sax_no_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="ETreeSaxTestCase.test_etree_sax_no_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_no_ns-expanded"><a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-145" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-145', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-146', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-147', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startElement()=lxml.sax.ElementTreeContentHandler-class.html#startElement"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-148', 'startElement', 'link-148');">startElement</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 class="py-op">)</tt> </tt>
-<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-149', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
-<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endElement()=lxml.sax.ElementTreeContentHandler-class.html#endElement"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-150', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-151', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt> <tt class="py-comment"># with empty attributes</tt> </tt>
-<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-152', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt> </tt>
-<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-153', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">handler</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-154', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</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">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-155" class="py-name"><a title="lxml.etree
+</div><a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_no_ns"></a><div id="ETreeSaxTestCase.test_etree_sax_no_ns-def"><a name="L203"></a><tt class="py-lineno">203</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_no_ns-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_no_ns');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns">test_etree_sax_no_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="ETreeSaxTestCase.test_etree_sax_no_ns-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_no_ns-expanded"><a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-145" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-145', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-146" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-146', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-147" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-147', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-148" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.startElement()=lxml.sax.ElementTreeContentHandler-class.html#startElement"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-148', 'startElement', 'link-148');">startElement</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 class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-149" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-149', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-150" class="py-name" targets="Method lxml.sax.ElementTreeContentHandler.endElement()=lxml.sax.ElementTreeContentHandler-class.html#endElement"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-150', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-151" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-151', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">)</tt> <tt class="py-comment"># with empty attributes</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-152" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-152', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'c'</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">handler</tt><tt class="py-op">.</tt><tt id="link-153" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-153', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">handler</tt><tt class="py-op">.</tt><tt id="link-154" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-154', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line"> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-155" 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-90');">etree</a></tt> </tt>
-<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-156', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-157', 'getroot', 'link-39');">getroot</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-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-158" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-158', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-159" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">        <tt id="link-156" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-156', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-157" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-157', 'getroot', 'link-39');">getroot</a></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 class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-158" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-158', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-159" 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-159', 'tag', 'link-41');">tag</a></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-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-160" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-160', 'root', 'link-38');">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-161" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-160" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-160', 'root', 'link-38');">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-161" 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-161', 'tag', 'link-41');">tag</a></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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt id="link-162" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-162', 'root', 'link-38');">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-163" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'c'</tt><tt class="py-op">,</tt> <tt id="link-162" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-162', 'root', 'link-38');">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-163" 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-163', 'tag', 'link-41');">tag</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="ETreeSaxTestCase.test_etree_sax_no_ns_attributes"></a><div id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-def"><a name="L219"></a><tt class="py-lineno">219</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_no_ns_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns_attributes">test_etree_sax_no_ns_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-expanded"><a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-164" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-164', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-165', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-166', 'startDocument', 'link-78');">startDocument</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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-167', 'startElement', 'link-148');">startElement</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-string">"attr_a1"</tt><tt class="py-op">:</tt> <tt class="py-string">"a1"</tt><tt class="py-op">}</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">handler</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-168', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">"attr_b1"</tt><tt class="py-op">:</tt> <tt class="py-string">"b1"</tt><tt class="py-op">}</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">handler</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-169', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-170', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-171', 'endDocument', 'link-89');">endDocument</a></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>
-<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-172" class="py-name"><a title="lxml.etree
+</div><a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_no_ns_attributes"></a><div id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-def"><a name="L220"></a><tt class="py-lineno">220</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_no_ns_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_no_ns_attributes">test_etree_sax_no_ns_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_no_ns_attributes-expanded"><a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-164" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-164', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-165" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-165', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-166" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-166', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</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">handler</tt><tt class="py-op">.</tt><tt id="link-167" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-167', 'startElement', 'link-148');">startElement</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-string">"attr_a1"</tt><tt class="py-op">:</tt> <tt class="py-string">"a1"</tt><tt class="py-op">}</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">handler</tt><tt class="py-op">.</tt><tt id="link-168" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-168', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">"attr_b1"</tt><tt class="py-op">:</tt> <tt class="py-string">"b1"</tt><tt class="py-op">}</tt><tt class="py-op">)</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-169" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-169', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-170" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-170', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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">handler</tt><tt class="py-op">.</tt><tt id="link-171" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endDocument" class="py-name" href="#" onclick="return doclink('link-171', 'endDocument', 'link-89');">endDocument</a></tt><tt class="py-op">(</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">new_tree</tt> <tt class="py-op">=</tt> <tt class="py-name">handler</tt><tt class="py-op">.</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-90');">etree</a></tt> </tt>
-<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">        <tt id="link-173" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-173', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-174', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-175" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-175', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-176" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">        <tt id="link-173" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-173', 'root', 'link-38');">root</a></tt> <tt class="py-op">=</tt> <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-174" class="py-name"><a title="lxml.etree._ElementTree.getroot" class="py-name" href="#" onclick="return doclink('link-174', 'getroot', 'link-39');">getroot</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt id="link-175" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-175', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-176" 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-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-177" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-177', 'root', 'link-38');">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-178" class="py-name"><a title="lxml.etree._Comment.tag
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">,</tt> <tt id="link-177" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-177', 'root', 'link-38');">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-178" 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-178', 'tag', 'link-41');">tag</a></tt><tt class="py-op">)</tt> </tt>
-<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a1'</tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-179', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-180" 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,Variable xml.etree.ElementTree.Element.attrib=xml.etree.ElementTree.Element-class.html#attrib"><a title="lxml.etree._Element.attrib
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'a1'</tt><tt class="py-op">,</tt> <tt id="link-179" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-179', 'root', 'link-38');">root</a></tt><tt class="py-op">.</tt><tt id="link-180" 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,Variable xml.etree.ElementTree.Element.attrib=xml.etree.ElementTree.Element-class.html#attrib"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
 xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-180', 'attrib', 'link-180');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr_a1"</tt><tt class="py-op">]</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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b1'</tt><tt class="py-op">,</tt> <tt id="link-181" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-181', 'root', 'link-38');">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-182" class="py-name"><a title="lxml.etree._Element.attrib
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">assertEqual</tt><tt class="py-op">(</tt><tt class="py-string">'b1'</tt><tt class="py-op">,</tt> <tt id="link-181" class="py-name"><a title="lxml.etree.iterparse.root" class="py-name" href="#" onclick="return doclink('link-181', 'root', 'link-38');">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-182" class="py-name"><a title="lxml.etree._Element.attrib
 lxml.etree._ProcessingInstruction.attrib
 xml.etree.ElementTree.Element.attrib" class="py-name" href="#" onclick="return doclink('link-182', 'attrib', 'link-180');">attrib</a></tt><tt class="py-op">[</tt><tt class="py-string">"attr_b1"</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="ETreeSaxTestCase.test_etree_sax_ns_attributes"></a><div id="ETreeSaxTestCase.test_etree_sax_ns_attributes-def"><a name="L235"></a><tt class="py-lineno">235</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_ns_attributes-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_ns_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns_attributes">test_etree_sax_ns_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_ns_attributes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_ns_attributes-expanded"><a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-183', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-184', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-185', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line"> </tt>
-<a name="L239"></a><tt class="py-lineno">239</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>
-<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">            <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-186', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">,</tt> </tt>
-<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">"blaA:attr_a1"</tt><tt class="py-op">:</tt> <tt class="py-string">"a1"</tt><tt class="py-op">}</tt> </tt>
-<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-op">)</tt> </tt>
-</div><a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_error"></a><div id="ETreeSaxTestCase.test_etree_sax_error-def"><a name="L244"></a><tt class="py-lineno">244</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_error-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error">test_etree_sax_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="ETreeSaxTestCase.test_etree_sax_error-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_error-expanded"><a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-187" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-187', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-188', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</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">handler</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-189', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</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">handler</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-190', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'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">self</tt><tt class="py-op">.</tt><tt class="py-name">assertRaises</tt><tt class="py-op">(</tt><tt id="link-191" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-191', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name" targets="Class lxml.sax.SaxError=lxml.sax.SaxError-class.html"><a title="lxml.sax.SaxError" class="py-name" href="#" onclick="return doclink('link-192', 'SaxError', 'link-192');">SaxError</a></tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-193', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase.test_etree_sax_error2"></a><div id="ETreeSaxTestCase.test_etree_sax_error2-def"><a name="L250"></a><tt class="py-lineno">250</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_error2-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_error2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error2">test_etree_sax_error2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase.test_etree_sax_error2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_error2-expanded"><a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-194" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-194', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-195', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-196', 'startDocument', 'link-78');">startDocument</a></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">handler</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-197', 'startElement', 'link-148');">startElement</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 class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-198', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
-<a name="L255"></a><tt class="py-lineno">255</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-199" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-199', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="lxml.sax.SaxError" class="py-name" href="#" onclick="return doclink('link-200', 'SaxError', 'link-192');">SaxError</a></tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-201', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
-</div><a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase._saxify_unsaxify"></a><div id="ETreeSaxTestCase._saxify_unsaxify-def"><a name="L257"></a><tt class="py-lineno">257</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase._saxify_unsaxify-toggle" onclick="return toggle('ETreeSaxTestCase._saxify_unsaxify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_unsaxify">_saxify_unsaxify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">saxifiable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase._saxify_unsaxify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase._saxify_unsaxify-expanded"><a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-202" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-202', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-203', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
-<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt id="link-204" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-204', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name" targets="Class lxml.sax.ElementTreeProducer=lxml.sax.ElementTreeProducer-class.html"><a title="lxml.sax.ElementTreeProducer" class="py-name" href="#" onclick="return doclink('link-205', 'ElementTreeProducer', 'link-205');">ElementTreeProducer</a></tt><tt class="py-op">(</tt><tt class="py-name">saxifiable</tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="lxml.sax.ElementTreeProducer.saxify
+</div><a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_ns_attributes"></a><div id="ETreeSaxTestCase.test_etree_sax_ns_attributes-def"><a name="L236"></a><tt class="py-lineno">236</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_ns_attributes-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_ns_attributes');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_ns_attributes">test_etree_sax_ns_attributes</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_ns_attributes-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_ns_attributes-expanded"><a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-183" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-183', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-184" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-184', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-185" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-185', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line"> </tt>
+<a name="L240"></a><tt class="py-lineno">240</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>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">            <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-186" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-186', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">,</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">            <tt class="py-string">'a'</tt><tt class="py-op">,</tt> <tt class="py-op">{</tt><tt class="py-string">"blaA:attr_a1"</tt><tt class="py-op">:</tt> <tt class="py-string">"a1"</tt><tt class="py-op">}</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">        <tt class="py-op">)</tt> </tt>
+</div><a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_error"></a><div id="ETreeSaxTestCase.test_etree_sax_error-def"><a name="L245"></a><tt class="py-lineno">245</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_error-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_error');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error">test_etree_sax_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="ETreeSaxTestCase.test_etree_sax_error-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_error-expanded"><a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-187" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-187', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-188" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-188', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></tt><tt class="py-op">(</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">handler</tt><tt class="py-op">.</tt><tt id="link-189" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-189', 'startDocument', 'link-78');">startDocument</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-name">handler</tt><tt class="py-op">.</tt><tt id="link-190" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-190', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'a'</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-191" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-191', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-192" class="py-name" targets="Class lxml.sax.SaxError=lxml.sax.SaxError-class.html"><a title="lxml.sax.SaxError" class="py-name" href="#" onclick="return doclink('link-192', 'SaxError', 'link-192');">SaxError</a></tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-193" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-193', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">,</tt> <tt class="py-string">'b'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase.test_etree_sax_error2"></a><div id="ETreeSaxTestCase.test_etree_sax_error2-def"><a name="L251"></a><tt class="py-lineno">251</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase.test_etree_sax_error2-toggle" onclick="return toggle('ETreeSaxTestCase.test_etree_sax_error2');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#test_etree_sax_error2">test_etree_sax_error2</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase.test_etree_sax_error2-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase.test_etree_sax_error2-expanded"><a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-194" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-194', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-195" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-195', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></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">handler</tt><tt class="py-op">.</tt><tt id="link-196" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startDocument" class="py-name" href="#" onclick="return doclink('link-196', 'startDocument', 'link-78');">startDocument</a></tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-197" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-197', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'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-name">handler</tt><tt class="py-op">.</tt><tt id="link-198" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.startElement" class="py-name" href="#" onclick="return doclink('link-198', 'startElement', 'link-148');">startElement</a></tt><tt class="py-op">(</tt><tt class="py-string">'b'</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-199" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-199', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-200" class="py-name"><a title="lxml.sax.SaxError" class="py-name" href="#" onclick="return doclink('link-200', 'SaxError', 'link-192');">SaxError</a></tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-201" class="py-name"><a title="lxml.sax.ElementTreeContentHandler.endElement" class="py-name" href="#" onclick="return doclink('link-201', 'endElement', 'link-150');">endElement</a></tt><tt class="py-op">,</tt> <tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase._saxify_unsaxify"></a><div id="ETreeSaxTestCase._saxify_unsaxify-def"><a name="L258"></a><tt class="py-lineno">258</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase._saxify_unsaxify-toggle" onclick="return toggle('ETreeSaxTestCase._saxify_unsaxify');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_unsaxify">_saxify_unsaxify</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">saxifiable</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase._saxify_unsaxify-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase._saxify_unsaxify-expanded"><a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">handler</tt> <tt class="py-op">=</tt> <tt id="link-202" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-202', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-203" class="py-name"><a title="lxml.sax.ElementTreeContentHandler" class="py-name" href="#" onclick="return doclink('link-203', 'ElementTreeContentHandler', 'link-77');">ElementTreeContentHandler</a></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-204" class="py-name"><a title="lxml.sax" class="py-name" href="#" onclick="return doclink('link-204', 'sax', 'link-13');">sax</a></tt><tt class="py-op">.</tt><tt id="link-205" class="py-name" targets="Class lxml.sax.ElementTreeProducer=lxml.sax.ElementTreeProducer-class.html"><a title="lxml.sax.ElementTreeProducer" class="py-name" href="#" onclick="return doclink('link-205', 'ElementTreeProducer', 'link-205');">ElementTreeProducer</a></tt><tt class="py-op">(</tt><tt class="py-name">saxifiable</tt><tt class="py-op">,</tt> <tt class="py-name">handler</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt id="link-206" class="py-name"><a title="lxml.sax.ElementTreeProducer.saxify
 lxml.sax.saxify" class="py-name" href="#" onclick="return doclink('link-206', 'saxify', 'link-54');">saxify</a></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-keyword">return</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-207" class="py-name"><a title="lxml.etree
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-name">handler</tt><tt class="py-op">.</tt><tt id="link-207" 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-207', 'etree', 'link-90');">etree</a></tt> </tt>
-</div><a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line"> </tt>
-<a name="ETreeSaxTestCase._saxify_serialize"></a><div id="ETreeSaxTestCase._saxify_serialize-def"><a name="L262"></a><tt class="py-lineno">262</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase._saxify_serialize-toggle" onclick="return toggle('ETreeSaxTestCase._saxify_serialize');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_serialize">_saxify_serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tree</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ETreeSaxTestCase._saxify_serialize-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase._saxify_serialize-expanded"><a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-208', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</tt><tt class="py-op">)</tt> </tt>
-<a name="L264"></a><tt class="py-lineno">264</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="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-209" 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-209', 'write', 'link-209');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</tt><tt class="py-op">)</tt> </tt>
-<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-keyword">return</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 id="link-210" 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-210', 'replace', 'link-210');">replace</a></tt><tt class="py-op">(</tt><tt id="link-211" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-211', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-212" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-212', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
-</div></div><a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line"> </tt>
-<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt>
-<a name="test_suite"></a><div id="test_suite-def"><a name="L269"></a><tt class="py-lineno">269</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_sax-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="L270"></a><tt class="py-lineno">270</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="L271"></a><tt class="py-lineno">271</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-213" class="py-name" targets="Class lxml.tests.test_sax.ETreeSaxTestCase=lxml.tests.test_sax.ETreeSaxTestCase-class.html"><a title="lxml.tests.test_sax.ETreeSaxTestCase" class="py-name" href="#" onclick="return doclink('link-213', 'ETreeSaxTestCase', 'link-213');">ETreeSaxTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
-<a name="L272"></a><tt class="py-lineno">272</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="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-214" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-214', 'make_doctest', 'link-10');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/sax.txt'</tt><tt class="py-op">)</tt><tt class="py-op">]</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">return</tt> <tt class="py-name">suite</tt> </tt>
-</div><a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line"> </tt>
-<a name="L276"></a><tt class="py-lineno">276</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="L277"></a><tt class="py-lineno">277</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="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+</div><a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line"> </tt>
+<a name="ETreeSaxTestCase._saxify_serialize"></a><div id="ETreeSaxTestCase._saxify_serialize-def"><a name="L263"></a><tt class="py-lineno">263</tt> <a class="py-toggle" href="#" id="ETreeSaxTestCase._saxify_serialize-toggle" onclick="return toggle('ETreeSaxTestCase._saxify_serialize');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_sax.ETreeSaxTestCase-class.html#_saxify_serialize">_saxify_serialize</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">tree</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ETreeSaxTestCase._saxify_serialize-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ETreeSaxTestCase._saxify_serialize-expanded"><a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">new_tree</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.tests.test_sax.ETreeSaxTestCase._saxify_unsaxify" class="py-name" href="#" onclick="return doclink('link-208', '_saxify_unsaxify', 'link-37');">_saxify_unsaxify</a></tt><tt class="py-op">(</tt><tt class="py-name">tree</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">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="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">        <tt class="py-name">new_tree</tt><tt class="py-op">.</tt><tt id="link-209" 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-209', 'write', 'link-209');">write</a></tt><tt class="py-op">(</tt><tt class="py-name">f</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">return</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 id="link-210" 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-210', 'replace', 'link-210');">replace</a></tt><tt class="py-op">(</tt><tt id="link-211" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-211', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt id="link-212" class="py-name"><a title="lxml.tests.common_imports._bytes" class="py-name" href="#" onclick="return doclink('link-212', '_bytes', 'link-11');">_bytes</a></tt><tt class="py-op">(</tt><tt class="py-string">''</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line"> </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line"> </tt>
+<a name="test_suite"></a><div id="test_suite-def"><a name="L270"></a><tt class="py-lineno">270</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_sax-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="L271"></a><tt class="py-lineno">271</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="L272"></a><tt class="py-lineno">272</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-213" class="py-name" targets="Class lxml.tests.test_sax.ETreeSaxTestCase=lxml.tests.test_sax.ETreeSaxTestCase-class.html"><a title="lxml.tests.test_sax.ETreeSaxTestCase" class="py-name" href="#" onclick="return doclink('link-213', 'ETreeSaxTestCase', 'link-213');">ETreeSaxTestCase</a></tt><tt class="py-op">)</tt><tt class="py-op">]</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">suite</tt><tt class="py-op">.</tt><tt class="py-name">addTests</tt><tt class="py-op">(</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">        <tt class="py-op">[</tt><tt id="link-214" class="py-name"><a title="lxml.tests.common_imports.make_doctest" class="py-name" href="#" onclick="return doclink('link-214', 'make_doctest', 'link-10');">make_doctest</a></tt><tt class="py-op">(</tt><tt class="py-string">'../../../doc/sax.txt'</tt><tt class="py-op">)</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-keyword">return</tt> <tt class="py-name">suite</tt> </tt>
+</div><a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line"> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line"> </tt>
+<a name="L278"></a><tt class="py-lineno">278</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="L279"></a><tt class="py-lineno">279</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="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line"> </tt><script type="text/javascript">
 <!--
 expandto(location.href);
 // -->
@@ -653,7 +655,7 @@ 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 Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 09d1d0743347549f372f287ee2e9f556dd61fd56..27b7a967a1ac526e7800f5dd0caa93e72d92b6e1 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index dc5cabbe2b7c38c0c5a96ab4814dd0ea384876f3..1a4b855a7c84086be54fbe3ed1e6292a60da5440 100644 (file)
@@ -223,7 +223,7 @@ Test cases related to Schematron parsing and validation
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f478530da359986a9c0a72a68ef7b11d9ea7985b..cd1ec12b47a06e4392ef789c68a209a01b6f4b5d 100644 (file)
@@ -352,7 +352,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 03bbff41d2cc1d4a9e6c11c4686efc774cdc8707..9d41ec439537e9b673a005e3ea61e455f6df0c6d 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:28 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d73ffb894852e2c369a07cd7665d00e35eed7bdd..cc25c7775f3331f8f4f4355dcf5b8a8ec88807f6 100644 (file)
@@ -232,7 +232,7 @@ Tests for thread usage in lxml.etree.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 741c703c96106d851f2063dae085ac3b91b69805..201cbfe3ffeca8c3473e1e077512d790029c780f 100644 (file)
@@ -794,7 +794,7 @@ lxml.tests.test_io._IOTestCaseBase.etree" class="py-name" href="#" onclick="retu
 <a name="L295"></a><tt class="py-lineno">295</tt>  <tt class="py-line"> </tt>
 <a name="ThreadPipelineTestCase.Worker"></a><div id="ThreadPipelineTestCase.Worker-def"><a name="L296"></a><tt class="py-lineno">296</tt> <a class="py-toggle" href="#" id="ThreadPipelineTestCase.Worker-toggle" onclick="return toggle('ThreadPipelineTestCase.Worker');">-</a><tt class="py-line">    <tt class="py-keyword">class</tt> <a class="py-def-name" href="lxml.tests.test_threading.ThreadPipelineTestCase.Worker-class.html">Worker</a><tt class="py-op">(</tt><tt class="py-base-class">threading</tt><tt class="py-op">.</tt><tt class="py-base-class">Thread</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
 </div><div id="ThreadPipelineTestCase.Worker-collapsed" style="display:none;" pad="+++" indent="++++++++"></div><div id="ThreadPipelineTestCase.Worker-expanded"><a name="ThreadPipelineTestCase.Worker.__init__"></a><div id="ThreadPipelineTestCase.Worker.__init__-def"><a name="L297"></a><tt class="py-lineno">297</tt> <a class="py-toggle" href="#" id="ThreadPipelineTestCase.Worker.__init__-toggle" onclick="return toggle('ThreadPipelineTestCase.Worker.__init__');">-</a><tt class="py-line">        <tt class="py-keyword">def</tt> <a class="py-def-name" href="lxml.tests.test_threading.ThreadPipelineTestCase.Worker-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">in_queue</tt><tt class="py-op">,</tt> <tt class="py-param">in_count</tt><tt class="py-op">,</tt> <tt class="py-op">**</tt><tt class="py-param">kwargs</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
-</div><div id="ThreadPipelineTestCase.Worker.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++++++"></div><div id="ThreadPipelineTestCase.Worker.__init__-expanded"><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-232" 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.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.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.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__
+</div><div id="ThreadPipelineTestCase.Worker.__init__-collapsed" style="display:none;" pad="+++" indent="++++++++++++++++"></div><div id="ThreadPipelineTestCase.Worker.__init__-expanded"><a name="L298"></a><tt class="py-lineno">298</tt>  <tt class="py-line">            <tt class="py-name">threading</tt><tt class="py-op">.</tt><tt class="py-name">Thread</tt><tt class="py-op">.</tt><tt id="link-232" 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.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.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__
@@ -833,6 +833,7 @@ lxml.etree._ListErrorLog.__init__
 lxml.etree._RotatingErrorLog.__init__
 lxml.etree._TargetParserResult.__init__
 lxml.etree._XPathEvaluatorBase.__init__
+lxml.etree.htmlfile.__init__
 lxml.etree.iterparse.__init__
 lxml.etree.iterwalk.__init__
 lxml.etree.xmlfile.__init__
@@ -1112,7 +1113,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index e1c12c6c8109a709be7b28947d994b63d5d0818f..04bb580acb1617904a3f08374efff0e38ab56794 100644 (file)
@@ -511,7 +511,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index f79d7ebf92da0d7c02b588ee93360c2cd466519f..5dda9f06bfafb28bba825cb9b4f5059d52f88a1f 100644 (file)
@@ -292,7 +292,7 @@ the document to support relative Paths when looking up external entities
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 506f88aad31ce95ae5114aa4ca0f6cc77e190673..56e8ea1bc0d61401b347e9215acac1bab44bfc34 100644 (file)
@@ -292,7 +292,7 @@ the document to support relative Paths when looking up external entities
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 55a234c6b2d2d38b88086a5f48ae4a5a08e8c1e5..d967db3f203d800c0d066dd5b552d57df16dcfa0 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 056eeb872d2e860e28991e0625164e54e93655ff..c2a1a3cc6550a754c908361ed4cb4b996d37b51a 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 86ef3647c86aac1d3c47e1791eff5eb91395b7a0..ce5c53a5e4bfe7c748afa145e05a2c3741ffb24f 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 37c4f2ef50217f6aa2e98d0cf8a3da6fa2c757a9..00dcd50e296cd8b9dd80cff36f2781c5a546dfbe 100644 (file)
@@ -321,7 +321,7 @@ from the args and kwargs arguments, respectively.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 9e875407efca7ce8ad627c0114587220d288f01b..42f6063c2fcb098e806567a326d8443fbcfad17c 100644 (file)
@@ -531,7 +531,7 @@ for XML.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4e07bd4ee777ad7a5fa3a37f75c47abcbd04ab47..d9f6620f51f8d468a1083ebaa2d0341a79271276 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 958deca8bc1719411e111ed07e899c4c580b8cad..59877069c1805c100e8e25e334e64f75a9060493 100644 (file)
@@ -504,7 +504,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 1980b6daa466ff5857e11838545bbc9c85dd6901..cb452e2d91c2e10060b9db2c16f27f2c6bc5150e 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 746dd0e1b981bc8ff140e34e4c414b47b81c67f7..392a1c9129ebd5e90c7693009f99916e8c8f12ae 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2af4e30d9ec6c06e61635cd98a0cbf53727cd5a8..1231152e3b83c871942b0ab2e6ef8c9c18e92784 100644 (file)
@@ -230,7 +230,7 @@ Test cases related to XML Schema parsing and validation
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 656a2e93e308913c1b312ac55fdd3bf8a8f2aedc..c80f24ce831a2ca38142d7707459d470df5ef263 100644 (file)
@@ -1264,7 +1264,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c3459034dd5e5e4032435bc9fc9b810a224cea74..b85817a77c9b626c5a4027b135bd2aa99fa13e45 100644 (file)
@@ -529,7 +529,7 @@ BytesIO(&quot;&quot;&quot;\
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b61f61366e2c5731ee257531e0122317366a09d2..d5c6da1984dbc23d98c4cb1d4bfd12bf0e3e771e 100644 (file)
@@ -284,7 +284,7 @@ opaque context object.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 3f392e8453037bb1eb3afb512a6edf23c501858e..cd42fb0e8bf10a0df5b9f6c9455b76318736f2cf 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index bd60a6b7ec0ccdec6613ff7dd987888c0bdcb43a..3e336a7740320819b9a1692c9f8420c19dd0ed68 100644 (file)
@@ -424,7 +424,7 @@ tTest, (None, 'floatTest'): floatTest, (None, 'booleanTest'): booleanT\
 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>&lt;function argsTest1 at 0x2ac<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>&lt;function argsTest1 at 0x2b9<code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
 <tr>
@@ -552,7 +552,7 @@ Test2,}
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0161d5d42ad3abf874894bbeb49ac57db78806e4..a4f0052e46ff08f88d2d7bc54dfac5fb16d1d939 100644 (file)
@@ -1982,7 +1982,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:12 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 62efded78fa5682ed36962237cf4b1abc315b626..956df0ece3b7bdb4024708e5efd1d86b3a1e6ce3 100644 (file)
@@ -358,7 +358,7 @@ Tests for the ETXPath class
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c4875b5172bebc52cc11e9a5ffa7f459450b181a..db388588b713fcd578bb5c30a5969065008b7e2c 100644 (file)
@@ -406,7 +406,7 @@ Tests for the XPath class
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index bb3fec62c7fee80b9adbafea30f706511eca0f94..00991cdabbab93e5ce3464433f63f68a035d3920 100644 (file)
@@ -408,7 +408,7 @@ Tests for the EXSLT support in XPath (requires libxslt 1.1.25+)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 65fe7a6a59d9341913653ac188096958e86511f2..a34bf47357a52107144ff46db7d84d963912e9a2 100644 (file)
@@ -1030,7 +1030,7 @@ XPath tests etree
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 27dedd8e06576f0e315744d361c607d2c4894c9a..b3f7c8ba8794961e3c66b01e986ed308b7e11d66 100644 (file)
@@ -279,7 +279,7 @@ Test cases related to XSLT processing
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a31f0b7fe1718afb78bbf9033b280e1ddb9a55fd..ea68dcde83180751304617a6a31f1a9d90a25568 100644 (file)
@@ -4276,7 +4276,7 @@ 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 Wed Sep 10 19:04:31 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 58df1c19ea65cd77ced4e215e3d2262430f864e1..a0028dfc0ec808e73a69ffd71e61cd77125530a1 100644 (file)
@@ -502,7 +502,7 @@ EXSLT tests
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 540ff5cdd38068b8ded952bc68c9a50ade06f40a..257c87a81e7e7311232c35426d9201a32b99e828 100644 (file)
@@ -566,7 +566,7 @@ Tests for extension elements in XSLT.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 0bcef7ffd83dbcf0ba1152f0260bb86cceb76fea..846d665593f041883a6f8f29baab47b5160c8ce4 100644 (file)
@@ -406,7 +406,7 @@ Tests for XPath extension functions in XSLT.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index c169314183d0d62c357300244b90d425377b2015..c75f0d7a05cf7aa3999807c1619958ddb94f346b 100644 (file)
@@ -1142,7 +1142,7 @@ XSLT tests etree
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5de3d008073511cc0f2e52451fc68c402abcec84..859106582e4d5b51bc515bb9cb3663096f940768 100644 (file)
@@ -420,7 +420,7 @@ s': {}}&gt;
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 5696274fc206a067f0d5a548559cb2a92f0dd0fc..2e5fa97d26449e0ff6a0f654790d2eedd8c5ee41 100644 (file)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 68c55c106363596b58d72292579fa6d58222ab86..a4582143e684177e0f325fe741bfda0e8d66e91a 100644 (file)
@@ -112,7 +112,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:10 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 4d624032436745d54dd9804393028dc3a3080f7c..5fa7d1d117bf9250a0ca623734b24a9312e22199 100644 (file)
@@ -363,7 +363,7 @@ contains some hooks for decoding encoded and multipart messages.
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 858b74b35e4d37be97ef36db5cd69ed7a4ea378c..24032e35d62c9e6bb8da82bda14cb9747599d0cc 100644 (file)
@@ -156,7 +156,7 @@ namespace registry mechanism</em>    </li>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:07 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index a7af54d0fd7a8e912400d04d68d575864d95733a..f4846a2dbf5e3c99b4ced761755d371b4461c0bb 100644 (file)
@@ -7,7 +7,7 @@
 <body>
 <script type="text/javascript">
 <!--
-var pages = ["lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-c", "lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.default_class-c", "lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.bluff_class-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.maeh_class-c", "lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-c", "lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-c", "lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-c", "lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker-c", "lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-c", "lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-c", "lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-c", "lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-c", "lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-c", "lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-c", "lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-c", "lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-c", "lxml.tests.test_threading.ThreadPipelineTestCase.Worker-c", "lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-c", "lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-c", "lxml.tests.test_pyclasslookup.PyClassLookupTestCase-c", "lxml.tests.test_schematron.ETreeSchematronTestCase-c", "lxml.tests.dummy_http_server.HTTPRequestCollector-c", "lxml.tests.test_doctestcompare.DoctestCompareTest-c", "lxml.tests.test_xpathevaluator.ETreeXPathTestCase-c", "lxml.tests.test_elementtree.CElementTreeTestCase-c", "lxml.tests.test_threading.ThreadPipelineTestCase-c", "lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-c", "lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-c", "lxml.tests.test_classlookup.ClassLookupTestCase-c", "lxml.tests.test_elementtree.ElementTreeTestCase-c", "lxml.tests.common_imports.LargeFileLikeUnicode-c", "lxml.tests.test_elementtree._ETreeTestCaseBase-c", "lxml.tests.test_elementtree._XMLPullParserTest-c", "lxml.tests.test_elementtree.ETreePullTestCase-c", "lxml.tests.test_htmlparser.HtmlParserTestCase-c", "lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-c", "lxml.tests.dummy_http_server._RequestHandler-c", "lxml.tests.test_etree.ElementIncludeTestCase-c", "lxml.tests.test_relaxng.ETreeRelaxNGTestCase-c", "lxml.etree.AttributeBasedElementClassLookup-c", "lxml.tests.test_etree.ETreeXIncludeTestCase-c", "lxml.tests.test_objectify.ObjectifyTestCase-c", "lxml.tests.test_threading.ThreadingTestCase-c", "lxml.objectify.ObjectifyElementClassLookup-c", "lxml.html.diff.InsensitiveSequenceMatcher-c", "lxml.tests.test_classlookup.ProxyTestCase-c", "lxml.tests.test_doctestcompare.DummyInput-c", "lxml.tests.test_elementtree.ETreeTestCase-c", "lxml.tests.test_unicode.EncodingsTestCase-c", "lxml.etree.ParserBasedElementClassLookup-c", "lxml.tests.common_imports.HelperTestCase-c", "lxml.tests.test_etree.ETreeWriteTestCase-c", "lxml.tests.test_io.ElementTreeIOTestCase-c", "xml.etree.ElementTree._IterParseIterator-c", "xml.etree.ElementTree._SimpleElementPath-c", "lxml.tests.common_imports.LargeFileLike-c", "lxml.tests.common_imports.SillyFileLike-c", "lxml.tests.test_builder.BuilderTestCase-c", "lxml.tests.test_etree.ETreeC14NTestCase-c", "lxml.tests.test_etree.ETreeErrorLogTest-c", "lxml.tests.test_etree.ETreeOnlyTestCase-c", "lxml.tests.test_etree.XMLPullParserTest-c", "lxml.tests.test_etree._XIncludeTestCase-c", "lxml.tests.test_unicode.UnicodeTestCase-c", "lxml.tests.test_xslt.ETreeEXSLTTestCase-c", "lxml.doctestcompare.LHTMLOutputChecker-c", "lxml.etree.ElementNamespaceClassLookup-c", "lxml.html.formfill.DefaultErrorCreator-c", "lxml.tests.dummy_http_server.WebServer-c", "lxml.tests.test_http_io.HttpIOTestCase-c", "lxml.tests.test_xslt.ETreeXSLTTestCase-c", "lxml.ElementInclude.FatalIncludeError-c", "lxml.doctestcompare.LXMLOutputChecker-c", "lxml.etree.FallbackElementClassLookup-c", "lxml.etree._XSLTProcessingInstruction-c", "lxml.objectify.ObjectifiedDataElement-c", "cssselect.parser.SelectorSyntaxError-c", "lxml.etree.ElementDefaultClassLookup-c", "lxml.etree.ElementDepthFirstIterator-c", "lxml.tests.test_dtd.ETreeDtdTestCase-c", "lxml.tests.test_errors.ErrorTestCase-c", "lxml.tests.test_sax.ETreeSaxTestCase-c", "lxml.tests.test_xslt.Py3XSLTTestCase-c", "lxml.tests.test_incremental_xmlfile-m", "lxml.doctestcompare._RestoreChecker-c", "lxml.etree.CustomElementClassLookup-c", "lxml.etree.PythonElementClassLookup-c", "lxml.html.HtmlProcessingInstruction-c", "lxml.etree.SchematronValidateError-c", "lxml.sax.ElementTreeContentHandler-c", "lxml.tests.test_io.ETreeIOTestCase-c", "lxml.tests.test_io._IOTestCaseBase-c", "lxml.cssselect.LxmlHTMLTranslator-c", "lxml.etree.NamespaceRegistryError-c", "lxml.etree.XMLSchemaValidateError-c", "lxml.etree.XPathDocumentEvaluator-c", "lxml.etree._ProcessingInstruction-c", "lxml.html.html5parser.XHTMLParser-c", "lxml.objectify.ObjectifiedElement-c", "xml.etree.ElementTree.ElementTree-c", "xml.etree.ElementTree.TreeBuilder-c", "lxml.etree.XPathElementEvaluator-c", "lxml.etree._ElementMatchIterator-c", "lxml.etree._ElementUnicodeResult-c", "lxml.html.HtmlElementClassLookup-c", "lxml.html.html5parser.HTMLParser-c", "xml.etree.ElementTree.ParseError-c", "cssselect.xpath.ExpressionError-c", "lxml.etree.ElementChildIterator-c", "lxml.etree.RelaxNGValidateError-c", "lxml.etree.SchematronParseError-c", "lxml.etree._ElementStringResult-c", "lxml.html.MultipleSelectOptions-c", "lxml.html.formfill.FormNotFound-c", "lxml.tests.test_css.CSSTestCase-c", "xml.etree.ElementTree.XMLParser-c", "lxml.tests.test_doctestcompare-m", "lxml.tests.test_xpathevaluator-m", "cssselect.parser.SelectorError-c", "lxml.etree.ElementTextIterator-c", "lxml.etree.XMLSchemaParseError-c", "lxml.etree._TargetParserResult-c", "lxml.etree._XPathEvaluatorBase-c", "lxml.tests.test_isoschematron-m", "lxml.tests.test_pyclasslookup-m", "lxml.cssselect.LxmlTranslator-c", "lxml.etree.ElementClassLookup-c", "lxml.etree.SerialisationError-c", "lxml.etree.XPathFunctionError-c", "lxml.etree.XSLTExtensionError-c", "lxml.etree._ElementTagMatcher-c", "lxml.isoschematron.Schematron-c", "xml.etree.ElementTree.Element-c", "lxml.tests.dummy_http_server-m", "lxml.etree.AncestorsIterator-c", "lxml.etree.ETCompatXMLParser-c", "lxml.etree.LxmlRegistryError-c", "lxml.etree.RelaxNGErrorTypes-c", "lxml.etree.RelaxNGParseError-c", "lxml.etree.XSLTAccessControl-c", "lxml.etree._RotatingErrorLog-c", "lxml.objectify.NumberElement-c", "lxml.objectify.StringElement-c", "lxml.sax.ElementTreeProducer-c", "lxml.tests.test_classlookup-m", "lxml.tests.test_elementtree-m", "lxml.etree.DTDValidateError-c", "lxml.etree.SiblingsIterator-c", "lxml.etree.XPathResultError-c", "lxml.etree.XPathSyntaxError-c", "lxml.etree._ElementIterator-c", "lxml.etree._SaxParserTarget-c", "lxml.objectify.ElementMaker-c", "lxml.objectify.FloatElement-c", "xml.etree.ElementTree.QName-c", "lxml.tests.test_htmlparser-m", "lxml.tests.test_schematron-m", "lxml.cssselect.CSSSelector-c", "lxml.etree.DocumentInvalid-c", "lxml.etree.LxmlSyntaxError-c", "lxml.etree.SchematronError-c", "lxml.etree._DomainErrorLog-c", "lxml.etree._XSLTResultTree-c", "lxml.objectify.BoolElement-c", "lxml.objectify.LongElement-c", "lxml.objectify.NoneElement-c", "lxml.tests.common_imports-m", "lxml.tests.test_nsclasses-m", "lxml.tests.test_objectify-m", "lxml.tests.test_threading-m", "lxml.tests.test_xmlschema-m", "cssselect.xpath.XPathExpr-c", "exceptions.AssertionError-c", "lxml.builder.ElementMaker-c", "lxml.etree.HTMLPullParser-c", "lxml.etree.XMLSchemaError-c", "lxml.etree.XMLSyntaxError-c", "lxml.etree.XPathEvalError-c", "lxml.etree.XSLTApplyError-c", "lxml.etree.XSLTParseError-c", "lxml.html.TextareaElement-c", "lxml.html.diff.href_token-c", "lxml.objectify.IntElement-c", "lxml.objectify.ObjectPath-c", "lxml.etree.DTDParseError-c", "lxml.etree.XIncludeError-c", "lxml.etree.XMLPullParser-c", "lxml.etree.XSLTExtension-c", "lxml.etree.XSLTSaveError-c", "lxml.etree._BaseErrorLog-c", "lxml.etree._ListErrorLog-c", "lxml.html.CheckboxValues-c", "lxml.html.diff.DEL_START-c", "lxml.html.diff.NoDeletes-c", "lxml.html.diff.tag_token-c", "lxml.tests.test_builder-m", "lxml.tests.test_http_io-m", "lxml.tests.test_relaxng-m", "lxml.tests.test_unicode-m", "lxml.etree.ErrorDomains-c", "lxml.etree.RelaxNGError-c", "lxml.etree._ElementTree-c", "lxml.html.CheckboxGroup-c", "lxml.html.SelectElement-c", "lxml.html.clean.Cleaner-c", "lxml.tests.test_errors-m", "lxml.etree.CommentBase-c", "lxml.etree.ElementBase-c", "lxml.etree.ErrorLevels-c", "lxml.etree.ParserError-c", "lxml.etree.TreeBuilder-c", "lxml.etree._FeedParser-c", "lxml.html.InputElement-c", "lxml.html.LabelElement-c", "lxml.html.diff.DEL_END-c", "lxml.html.ElementSoup-m", "lxml.html.html5parser-m", "lxml.tests.test_etree-m", "xml.etree.ElementTree-m", "lxml.etree.EntityBase-c", "lxml.etree.ErrorTypes-c", "lxml.etree.HTMLParser-c", "lxml.etree.ParseError-c", "lxml.etree.PyErrorLog-c", "lxml.etree.Schematron-c", "lxml.etree.XPathError-c", "lxml.etree._Validator-c", "lxml.html.FormElement-c", "lxml.html.HtmlComment-c", "lxml.html.HtmlElement-c", "lxml.html.InputGetter-c", "lxml.html.XHTMLParser-c", "lxml.html._MethodFunc-c", "lxml.objectify.PyType-c", "lxml.html.soupparser-m", "lxml.html.usedoctest-m", "lxml.tests.test_xslt-m", "lxml.etree.C14NError-c", "lxml.etree.LxmlError-c", "lxml.etree.XMLParser-c", "lxml.etree.XMLSchema-c", "lxml.etree.XSLTError-c", "lxml.etree._Document-c", "lxml.etree._ErrorLog-c", "lxml.etree._LogEntry-c", "lxml.etree.iterparse-c", "lxml.html.FieldsDict-c", "lxml.html.HTMLParser-c", "lxml.html.HtmlEntity-c", "lxml.html.InputMixin-c", "lxml.html.RadioGroup-c", "lxml.html.diff.token-c", "lxml.ElementInclude-m", "lxml.doctestcompare-m", "lxml.tests.test_css-m", "lxml.tests.test_dtd-m", "lxml.tests.test_sax-m", "lxml.etree.DTDError-c", "lxml.etree.Resolver-c", "lxml.etree.XInclude-c", "lxml.etree._Comment-c", "lxml.etree._Element-c", "lxml.etree.iterwalk-c", "lxml.html.HtmlMixin-c", "lxml.html.formfill-m", "lxml.isoschematron-m", "lxml.pyclasslookup-m", "lxml.tests.test_io-m", "lxml.etree.DocInfo-c", "lxml.etree.ETXPath-c", "lxml.etree.RelaxNG-c", "lxml.etree._Attrib-c", "lxml.etree._Entity-c", "lxml.etree._IDDict-c", "lxml.etree.xmlfile-c", "lxml.html.builder-m", "lxml.etree.PIBase-c", "lxml.sax.SaxError-c", "mimetools.Message-c", "lxml.etree.CDATA-c", "lxml.etree.Error-c", "lxml.etree.QName-c", "lxml.etree.XPath-c", "lxml.html.clean-m", "lxml.usedoctest-m", "lxml.etree.XSLT-c", "lxml.cssselect-m", "lxml.html.defs-m", "lxml.html.diff-m", "lxml.objectify-m", "lxml.etree.DTD-c", "lxml.includes-m", "lxml.builder-m", "abc.ABCMeta-c", "lxml.etree-m", "lxml.tests-m", "lxml.html-m", "lxml.sax-m", "lxml-m", "str-c"];
+var pages = ["lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-c", "lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.default_class-c", "lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.bluff_class-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.maeh_class-c", "lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-c", "lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker-c", "lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker-c", "lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker-c", "lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker-c", "lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-c", "lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-c", "lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase-c", "lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase-c", "lxml.tests.test_isoschematron.ETreeISOSchematronTestCase-c", "lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase-c", "lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-c", "lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase-c", "lxml.tests.test_threading.ThreadPipelineTestCase.Worker-c", "lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase-c", "lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase-c", "lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-c", "lxml.tests.test_pyclasslookup.PyClassLookupTestCase-c", "lxml.tests.test_schematron.ETreeSchematronTestCase-c", "lxml.tests.dummy_http_server.HTTPRequestCollector-c", "lxml.tests.test_doctestcompare.DoctestCompareTest-c", "lxml.tests.test_xpathevaluator.ETreeXPathTestCase-c", "lxml.tests.test_elementtree.CElementTreeTestCase-c", "lxml.tests.test_threading.ThreadPipelineTestCase-c", "lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase-c", "lxml.tests.test_xslt.ETreeXSLTExtElementTestCase-c", "lxml.tests.test_classlookup.ClassLookupTestCase-c", "lxml.tests.test_elementtree.ElementTreeTestCase-c", "lxml.tests.common_imports.LargeFileLikeUnicode-c", "lxml.tests.test_elementtree._ETreeTestCaseBase-c", "lxml.tests.test_elementtree._XMLPullParserTest-c", "lxml.tests.test_elementtree.ETreePullTestCase-c", "lxml.tests.test_htmlparser.HtmlParserTestCase-c", "lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase-c", "lxml.tests.dummy_http_server._RequestHandler-c", "lxml.tests.test_etree.ElementIncludeTestCase-c", "lxml.tests.test_relaxng.ETreeRelaxNGTestCase-c", "lxml.etree.AttributeBasedElementClassLookup-c", "lxml.tests.test_etree.ETreeXIncludeTestCase-c", "lxml.tests.test_objectify.ObjectifyTestCase-c", "lxml.tests.test_threading.ThreadingTestCase-c", "lxml.objectify.ObjectifyElementClassLookup-c", "lxml.html.diff.InsensitiveSequenceMatcher-c", "lxml.tests.test_classlookup.ProxyTestCase-c", "lxml.tests.test_doctestcompare.DummyInput-c", "lxml.tests.test_elementtree.ETreeTestCase-c", "lxml.tests.test_unicode.EncodingsTestCase-c", "lxml.etree.ParserBasedElementClassLookup-c", "lxml.tests.common_imports.HelperTestCase-c", "lxml.tests.test_etree.ETreeWriteTestCase-c", "lxml.tests.test_io.ElementTreeIOTestCase-c", "xml.etree.ElementTree._IterParseIterator-c", "xml.etree.ElementTree._SimpleElementPath-c", "lxml.tests.common_imports.LargeFileLike-c", "lxml.tests.common_imports.SillyFileLike-c", "lxml.tests.test_builder.BuilderTestCase-c", "lxml.tests.test_etree.ETreeC14NTestCase-c", "lxml.tests.test_etree.ETreeErrorLogTest-c", "lxml.tests.test_etree.ETreeOnlyTestCase-c", "lxml.tests.test_etree.XMLPullParserTest-c", "lxml.tests.test_etree._XIncludeTestCase-c", "lxml.tests.test_unicode.UnicodeTestCase-c", "lxml.tests.test_xslt.ETreeEXSLTTestCase-c", "lxml.doctestcompare.LHTMLOutputChecker-c", "lxml.etree.ElementNamespaceClassLookup-c", "lxml.html.formfill.DefaultErrorCreator-c", "lxml.tests.dummy_http_server.WebServer-c", "lxml.tests.test_http_io.HttpIOTestCase-c", "lxml.tests.test_xslt.ETreeXSLTTestCase-c", "lxml.ElementInclude.FatalIncludeError-c", "lxml.doctestcompare.LXMLOutputChecker-c", "lxml.etree.FallbackElementClassLookup-c", "lxml.etree._XSLTProcessingInstruction-c", "lxml.objectify.ObjectifiedDataElement-c", "cssselect.parser.SelectorSyntaxError-c", "lxml.etree.ElementDefaultClassLookup-c", "lxml.etree.ElementDepthFirstIterator-c", "lxml.tests.test_dtd.ETreeDtdTestCase-c", "lxml.tests.test_errors.ErrorTestCase-c", "lxml.tests.test_sax.ETreeSaxTestCase-c", "lxml.tests.test_xslt.Py3XSLTTestCase-c", "lxml.tests.test_incremental_xmlfile-m", "lxml.doctestcompare._RestoreChecker-c", "lxml.etree.CustomElementClassLookup-c", "lxml.etree.PythonElementClassLookup-c", "lxml.html.HtmlProcessingInstruction-c", "lxml.etree.SchematronValidateError-c", "lxml.sax.ElementTreeContentHandler-c", "lxml.tests.test_io.ETreeIOTestCase-c", "lxml.tests.test_io._IOTestCaseBase-c", "lxml.cssselect.LxmlHTMLTranslator-c", "lxml.etree.NamespaceRegistryError-c", "lxml.etree.XMLSchemaValidateError-c", "lxml.etree.XPathDocumentEvaluator-c", "lxml.etree._ProcessingInstruction-c", "lxml.html.html5parser.XHTMLParser-c", "lxml.objectify.ObjectifiedElement-c", "xml.etree.ElementTree.ElementTree-c", "xml.etree.ElementTree.TreeBuilder-c", "lxml.etree.XPathElementEvaluator-c", "lxml.etree._ElementMatchIterator-c", "lxml.etree._ElementUnicodeResult-c", "lxml.html.HtmlElementClassLookup-c", "lxml.html.html5parser.HTMLParser-c", "xml.etree.ElementTree.ParseError-c", "cssselect.xpath.ExpressionError-c", "lxml.etree.ElementChildIterator-c", "lxml.etree.RelaxNGValidateError-c", "lxml.etree.SchematronParseError-c", "lxml.etree._ElementStringResult-c", "lxml.html.MultipleSelectOptions-c", "lxml.html.formfill.FormNotFound-c", "lxml.tests.test_css.CSSTestCase-c", "xml.etree.ElementTree.XMLParser-c", "lxml.tests.test_doctestcompare-m", "lxml.tests.test_xpathevaluator-m", "cssselect.parser.SelectorError-c", "lxml.etree.ElementTextIterator-c", "lxml.etree.XMLSchemaParseError-c", "lxml.etree._TargetParserResult-c", "lxml.etree._XPathEvaluatorBase-c", "lxml.tests.test_isoschematron-m", "lxml.tests.test_pyclasslookup-m", "lxml.cssselect.LxmlTranslator-c", "lxml.etree.ElementClassLookup-c", "lxml.etree.SerialisationError-c", "lxml.etree.XPathFunctionError-c", "lxml.etree.XSLTExtensionError-c", "lxml.etree._ElementTagMatcher-c", "lxml.isoschematron.Schematron-c", "xml.etree.ElementTree.Element-c", "lxml.tests.dummy_http_server-m", "lxml.etree.AncestorsIterator-c", "lxml.etree.ETCompatXMLParser-c", "lxml.etree.LxmlRegistryError-c", "lxml.etree.RelaxNGErrorTypes-c", "lxml.etree.RelaxNGParseError-c", "lxml.etree.XSLTAccessControl-c", "lxml.etree._RotatingErrorLog-c", "lxml.objectify.NumberElement-c", "lxml.objectify.StringElement-c", "lxml.sax.ElementTreeProducer-c", "lxml.tests.test_classlookup-m", "lxml.tests.test_elementtree-m", "lxml.etree.DTDValidateError-c", "lxml.etree.SiblingsIterator-c", "lxml.etree.XPathResultError-c", "lxml.etree.XPathSyntaxError-c", "lxml.etree._ElementIterator-c", "lxml.etree._SaxParserTarget-c", "lxml.objectify.ElementMaker-c", "lxml.objectify.FloatElement-c", "xml.etree.ElementTree.QName-c", "lxml.tests.test_htmlparser-m", "lxml.tests.test_schematron-m", "lxml.cssselect.CSSSelector-c", "lxml.etree.DocumentInvalid-c", "lxml.etree.LxmlSyntaxError-c", "lxml.etree.SchematronError-c", "lxml.etree._DomainErrorLog-c", "lxml.etree._XSLTResultTree-c", "lxml.objectify.BoolElement-c", "lxml.objectify.LongElement-c", "lxml.objectify.NoneElement-c", "lxml.tests.common_imports-m", "lxml.tests.test_nsclasses-m", "lxml.tests.test_objectify-m", "lxml.tests.test_threading-m", "lxml.tests.test_xmlschema-m", "cssselect.xpath.XPathExpr-c", "exceptions.AssertionError-c", "lxml.builder.ElementMaker-c", "lxml.etree.HTMLPullParser-c", "lxml.etree.XMLSchemaError-c", "lxml.etree.XMLSyntaxError-c", "lxml.etree.XPathEvalError-c", "lxml.etree.XSLTApplyError-c", "lxml.etree.XSLTParseError-c", "lxml.html.TextareaElement-c", "lxml.html.diff.href_token-c", "lxml.objectify.IntElement-c", "lxml.objectify.ObjectPath-c", "lxml.etree.DTDParseError-c", "lxml.etree.XIncludeError-c", "lxml.etree.XMLPullParser-c", "lxml.etree.XSLTExtension-c", "lxml.etree.XSLTSaveError-c", "lxml.etree._BaseErrorLog-c", "lxml.etree._ListErrorLog-c", "lxml.html.CheckboxValues-c", "lxml.html.diff.DEL_START-c", "lxml.html.diff.NoDeletes-c", "lxml.html.diff.tag_token-c", "lxml.tests.test_builder-m", "lxml.tests.test_http_io-m", "lxml.tests.test_relaxng-m", "lxml.tests.test_unicode-m", "lxml.etree.ErrorDomains-c", "lxml.etree.RelaxNGError-c", "lxml.etree._ElementTree-c", "lxml.html.CheckboxGroup-c", "lxml.html.SelectElement-c", "lxml.html.clean.Cleaner-c", "lxml.tests.test_errors-m", "lxml.etree.CommentBase-c", "lxml.etree.ElementBase-c", "lxml.etree.ErrorLevels-c", "lxml.etree.ParserError-c", "lxml.etree.TreeBuilder-c", "lxml.etree._FeedParser-c", "lxml.html.InputElement-c", "lxml.html.LabelElement-c", "lxml.html.diff.DEL_END-c", "lxml.html.ElementSoup-m", "lxml.html.html5parser-m", "lxml.tests.test_etree-m", "xml.etree.ElementTree-m", "lxml.etree.EntityBase-c", "lxml.etree.ErrorTypes-c", "lxml.etree.HTMLParser-c", "lxml.etree.ParseError-c", "lxml.etree.PyErrorLog-c", "lxml.etree.Schematron-c", "lxml.etree.XPathError-c", "lxml.etree._Validator-c", "lxml.html.FormElement-c", "lxml.html.HtmlComment-c", "lxml.html.HtmlElement-c", "lxml.html.InputGetter-c", "lxml.html.XHTMLParser-c", "lxml.html._MethodFunc-c", "lxml.objectify.PyType-c", "lxml.html.soupparser-m", "lxml.html.usedoctest-m", "lxml.tests.test_xslt-m", "lxml.etree.C14NError-c", "lxml.etree.LxmlError-c", "lxml.etree.XMLParser-c", "lxml.etree.XMLSchema-c", "lxml.etree.XSLTError-c", "lxml.etree._Document-c", "lxml.etree._ErrorLog-c", "lxml.etree._LogEntry-c", "lxml.etree.iterparse-c", "lxml.html.FieldsDict-c", "lxml.html.HTMLParser-c", "lxml.html.HtmlEntity-c", "lxml.html.InputMixin-c", "lxml.html.RadioGroup-c", "lxml.html.diff.token-c", "lxml.ElementInclude-m", "lxml.doctestcompare-m", "lxml.tests.test_css-m", "lxml.tests.test_dtd-m", "lxml.tests.test_sax-m", "lxml.etree.DTDError-c", "lxml.etree.Resolver-c", "lxml.etree.XInclude-c", "lxml.etree._Comment-c", "lxml.etree._Element-c", "lxml.etree.htmlfile-c", "lxml.etree.iterwalk-c", "lxml.html.HtmlMixin-c", "lxml.html.formfill-m", "lxml.isoschematron-m", "lxml.pyclasslookup-m", "lxml.tests.test_io-m", "lxml.etree.DocInfo-c", "lxml.etree.ETXPath-c", "lxml.etree.RelaxNG-c", "lxml.etree._Attrib-c", "lxml.etree._Entity-c", "lxml.etree._IDDict-c", "lxml.etree.xmlfile-c", "lxml.html.builder-m", "lxml.etree.PIBase-c", "lxml.sax.SaxError-c", "mimetools.Message-c", "lxml.etree.CDATA-c", "lxml.etree.Error-c", "lxml.etree.QName-c", "lxml.etree.XPath-c", "lxml.html.clean-m", "lxml.usedoctest-m", "lxml.etree.XSLT-c", "lxml.cssselect-m", "lxml.html.defs-m", "lxml.html.diff-m", "lxml.objectify-m", "lxml.etree.DTD-c", "lxml.includes-m", "lxml.builder-m", "abc.ABCMeta-c", "lxml.etree-m", "lxml.tests-m", "lxml.html-m", "lxml.sax-m", "lxml-m", "str-c"];
 var dottedName = get_anchor();
 if (dottedName) {
     var target = redirect_url(dottedName);
index a2004a98a3b2efb2a15e1c7efcbbd877b1178d3c..abeab97306e6152fa6ecafc39f3d0c0c14aa51cd 100644 (file)
@@ -1628,7 +1628,7 @@ arguments start and end are interpreted as in slice notation.</p>
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index d8238ca73fceaa5b41abac301fd094d0c3797018..a595db99f618d9b01bb2e43a79b899f7c2112300 100644 (file)
   <div class="private">
     <a target="mainFrame" href="lxml.etree._XSLTResultTree-class.html"
      >lxml.etree._XSLTResultTree</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="lxml.etree.htmlfile-class.html"
+     >lxml.etree.htmlfile</a><br />  </div>
     <a target="mainFrame" href="lxml.etree.iterparse-class.html"
      >lxml.etree.iterparse</a><br />    <a target="mainFrame" href="lxml.etree.iterwalk-class.html"
      >lxml.etree.iterwalk</a><br />  <div class="private">
     <a target="mainFrame" href="lxml.tests.test_htmlparser.HtmlParserTestCase-class.html"
      >lxml.tests.test_htmlparser.HtmlParserTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_http_io.HttpIOTestCase-class.html"
      >lxml.tests.test_http_io.HttpIOTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html"
-     >lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html"
+     >lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html"
+     >lxml.tests.test_incremental_xmlfile.HtmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html"
      >lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html"
      >lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html"
      >lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html"
index a56615ebfba52ecc405e93d5616c2624870f9ba4..d8b810452466605c96b75f557568b65ea62bcbfa 100644 (file)
   <div class="private">
     <a target="mainFrame" href="lxml.etree._XSLTResultTree-class.html"
      >_XSLTResultTree</a><br />  </div>
+  <div class="private">
+    <a target="mainFrame" href="lxml.etree.htmlfile-class.html"
+     >htmlfile</a><br />  </div>
     <a target="mainFrame" href="lxml.etree.iterparse-class.html"
      >iterparse</a><br />    <a target="mainFrame" href="lxml.etree.iterwalk-class.html"
      >iterwalk</a><br />  <div class="private">
index 41f62306f984c727f70998670e7f88352e0d0f47..349757c40c378b36c0ffe7a6e66a0730b45b13fe 100644 (file)
@@ -14,7 +14,8 @@
 <hr />
   <h2 class="toc">Classes</h2>
     <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html"
-     >BytesIOXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html"
+     >BytesIOXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html"
+     >HtmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html"
      >SimpleFileLikeXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html"
      >TempPathXmlFileTestCase</a><br />    <a target="mainFrame" href="lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase-class.html"
      >TempXmlFileTestCase</a><br />  <div class="private">
index e1b6a1b753617cd3abd60c1d85fb54ebf64ee2a9..d57aa9d2a3c5833f70243eb173c6df1bdc81c023 100644 (file)
@@ -657,9 +657,9 @@ hash(x)
     <td width="15%" align="right" valign="top" class="summary">
       <span class="summary-type">&nbsp;</span>
     </td><td class="summary">
-        <a href="xml.etree.ElementTree-module.html#_serialize" class="summary-name" onclick="show_private();">_serialize</a> = <code title="{'html': &lt;function _serialize_html at 0x2ac9b2c76488&gt;,
- 'text': &lt;function _serialize_text at 0x2ac9b2c76500&gt;,
- 'xml': &lt;function _serialize_xml at 0x2ac9b2c76410&gt;}"><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>&lt;function _serialize_html at 0x2ac9b2c76<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': &lt;function _serialize_html at 0x2b9efad3a488&gt;,
+ 'text': &lt;function _serialize_text at 0x2b9efad3a500&gt;,
+ 'xml': &lt;function _serialize_xml at 0x2b9efad3a410&gt;}"><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>&lt;function _serialize_html at 0x2b9efad3a<code class="variable-ellipsis">...</code></code>
     </td>
   </tr>
 </table>
@@ -743,9 +743,9 @@ hash(x)
   <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>&lt;function _serialize_html at 0x2ac9b2c76488&gt;<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>&lt;function _serialize_text at 0x2ac9b2c76500&gt;<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>&lt;function _serialize_xml at 0x2ac9b2c76410&gt;<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>&lt;function _serialize_html at 0x2b9efad3a488&gt;<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>&lt;function _serialize_text at 0x2b9efad3a500&gt;<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>&lt;function _serialize_xml at 0x2b9efad3a410&gt;<code class="variable-group">}</code>
 </pre></td></tr></table>
 </dd>
   </dl>
@@ -783,7 +783,7 @@ hash(x)
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:27 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:08 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 625991a0e981e6f1c6ecd8350badc69eeeea3e2a..50c50969528daf8c0233262c27f172d5f2ba7edb 100644 (file)
@@ -3008,7 +3008,7 @@ 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 Wed Sep 10 19:04:30 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:11 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 63634a51e1538535161721a5e4db06ea5f86016a..dbf9f857d3dd18db4276670f5d10e89072ec76d8 100644 (file)
@@ -729,7 +729,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index b3a0f5aeb8a6486c765454758005effa9ac3ae82..445ded51372bc1b03d6a5f409e9b0fcdf7ad1885 100644 (file)
@@ -423,7 +423,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index cf06648ab7015ae75e5c83076d743e2ace8deae0..1f9748dac7dbfd2217fa857b3983973a7ce88fb4 100644 (file)
@@ -192,7 +192,7 @@ exceptions.BaseException --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 183d7c10026544e322f2314ad426445539623328..f6f2b5cda78a9c0ad983db03a8d4598e7edb0096 100644 (file)
@@ -324,7 +324,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 50d569d6ac5d309cac515f535a15a4adaa9ffb30..0badaf225fac2afcf9d7aa4488b5595d0f926fa7 100644 (file)
@@ -309,7 +309,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 8b0ad7f337c521efa527e06fa5b8215727986324..7c0e7ea3167b8d1f916d355a00763fe3c850f561 100644 (file)
@@ -475,7 +475,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 79bc42c66a18e01aeb76cc649fbe672b9ee87877..da7bb289d219307b033dce43532e2e43745ff0c4 100644 (file)
@@ -263,7 +263,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 30ef5c941eca7e4e9e0a59f0128f32cefa5f7611..10fb9fb90e86d2617aeffeb1f3f5dd260f182115 100644 (file)
@@ -241,7 +241,7 @@ object --+
 <table border="0" cellpadding="0" cellspacing="0" width="100%%">
   <tr>
     <td align="left" class="footer">
-    Generated by Epydoc 3.0.1 on Wed Sep 10 19:04:29 2014
+    Generated by Epydoc 3.0.1 on Thu Nov 20 19:47:09 2014
     </td>
     <td align="right" class="footer">
       <a target="mainFrame" href="http://epydoc.sourceforge.net"
index 2c6d5a8cab128c4f6609214c00397633f7739509..f975fd1786c2eee7cff7eba52890deac9bf2028e 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -287,7 +287,7 @@ installed using <tt class="docutils literal">dpkg <span class="pre">-i</span></t
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index a6a724e9ecdd34b68fec79a0c54cd3380f804958..3cbf8f8786d1a2ad1e63733711664425286024b4 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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,
@@ -94,7 +94,7 @@ includes may not be sufficient.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
diff --git a/doc/html/changes-3.4.0.html b/doc/html/changes-3.4.0.html
deleted file mode 100644 (file)
index fe1bded..0000000
+++ /dev/null
@@ -1,2916 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!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" />
-<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
-<title>lxml changelog</title>
-<link rel="stylesheet" href="style.css" type="text/css" />
-</head>
-<body>
-<div class="document" id="lxml-changelog">
-<h1 class="title">lxml changelog</h1>
-
-<div class="section" id="id1">
-<h1>3.4.0 (2014-09-10)</h1>
-<div class="section" id="features-added">
-<h2>Features added</h2>
-<ul class="simple">
-<li><tt class="docutils literal">xmlfile(buffered=False)</tt> disables output buffering and flushes the
-content after each API operation (starting/ending element blocks or writes).
-A new method <tt class="docutils literal">xf.flush()</tt> can alternatively be used to explicitly flush
-the output.</li>
-<li><tt class="docutils literal">lxml.html.document_fromstring</tt> has a new option <tt class="docutils literal">ensure_head_body=True</tt>
-which will add an empty head and/or body element to the result document if
-missing.</li>
-<li><tt class="docutils literal">lxml.html.iterlinks</tt> now returns links inside meta refresh tags.</li>
-<li>New <tt class="docutils literal">XMLParser</tt> option <tt class="docutils literal">collect_ids=False</tt> to disable ID hash table
-creation.  This can substantially speed up parsing of documents with many
-different IDs that are not used.</li>
-<li>The parser uses per-document hash tables for XML IDs.  This reduces the
-load of the global parser dict and speeds up parsing for documents with
-many different IDs.</li>
-<li><tt class="docutils literal">ElementTree.getelementpath(element)</tt> returns a structural ElementPath
-expression for the given element, which can be used for lookups later.</li>
-<li><tt class="docutils literal">xmlfile()</tt> accepts a new argument <tt class="docutils literal">close=True</tt> to close file(-like)
-objects after writing to them.  Before, <tt class="docutils literal">xmlfile()</tt> only closed the file
-if it had opened it internally.</li>
-<li>Allow &quot;bytearray&quot; type for ASCII text input.</li>
-</ul>
-</div>
-<div class="section" id="bugs-fixed">
-<h2>Bugs fixed</h2>
-</div>
-<div class="section" id="other-changes">
-<h2>Other changes</h2>
-<ul class="simple">
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/400588">LP#400588</a>: decoding errors have become hard errors even in recovery mode.
-Previously, they could lead to an internal tree representation in a mixed
-encoding state, which lead to very late errors or even silently incorrect
-behaviour during tree traversal or serialisation.</li>
-<li>Requires Python 2.6, 2.7, 3.2 or later. No longer supports
-Python 2.4, 2.5 and 3.1, use lxml 3.3.x for those.</li>
-<li>Requires libxml2 2.7.0 or later and libxslt 1.1.23 or later,
-use lxml 3.3.x with older versions.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id2">
-<h1>3.3.6 (2014-08-28)</h1>
-<div class="section" id="id3">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Prevent tree cycle creation when adding Elements as siblings.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1361948">LP#1361948</a>: crash when deallocating Element siblings without parent.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1354652">LP#1354652</a>: crash when traversing internally loaded documents in XSLT
-extension functions.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id4">
-<h1>3.3.5 (2014-04-18)</h1>
-<div class="section" id="id5">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>HTML cleaning could fail to strip javascript links that mix control
-characters into the link scheme.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id6">
-<h1>3.3.4 (2014-04-03)</h1>
-<div class="section" id="id7">
-<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="id8">
-<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="id9">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id10">
-<h1>3.3.3 (2014-03-04)</h1>
-<div class="section" id="id11">
-<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="id12">
-<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
-subclassed from Python code.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id13">
-<h1>3.3.2 (2014-02-26)</h1>
-<div class="section" id="id14">
-<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
-<tt class="docutils literal">set_element_class_lookup()</tt> and <tt class="docutils literal">makeelement()</tt>, were lost from
-<tt class="docutils literal">iterparse</tt> objects in 3.3.0.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1222132">LP#1222132</a>: instances of <tt class="docutils literal">XMLSchema</tt>, <tt class="docutils literal">Schematron</tt> and <tt class="docutils literal">RelaxNG</tt>
-did not clear their local <tt class="docutils literal">error_log</tt> before running a validation.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1238500">LP#1238500</a>: lxml.doctestcompare mixed up &quot;expected&quot; and &quot;actual&quot; in
-attribute values.</li>
-<li>Some file I/O tests were failing in MS-Windows due to non-portable temp
-file usage.  Initial patch by Gabi Davar.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/910014">LP#910014</a>: duplicate IDs in a document were not reported by DTD validation.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1185332">LP#1185332</a>: <tt class="docutils literal"><span class="pre">tostring(method=&quot;html&quot;)</span></tt> did not use HTML serialisation
-semantics for trailing tail text.  Initial patch by Sylvain Viollon.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1281139">LP#1281139</a>: <tt class="docutils literal">.attrib</tt> value of Comments lost its mutation methods
-in 3.3.0.  Even though it is empty and immutable, it should still
-provide the same interface as that returned for Elements.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id15">
-<h1>3.3.1 (2014-02-12)</h1>
-<div class="section" id="id16">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id17">
-<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
-elements during tag iteration.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1273709">LP#1273709</a>: Building in PyPy failed due to missing support for
-<tt class="docutils literal">PyUnicode_Compare()</tt> and <tt class="docutils literal"><span class="pre">PyByteArray_*()</span></tt> in PyPy's C-API.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1274413">LP#1274413</a>: Compilation in MSVC failed due to missing &quot;stdint.h&quot; standard
-header file.</li>
-<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="id18">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id19">
-<h1>3.3.0 (2014-01-26)</h1>
-<div class="section" id="id20">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id21">
-<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="id22">
-<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="id23">
-<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="id24">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Several error handling problems were fixed throughout the code base that
-could previously lead to exceptions being silently swallowed or not
-properly reported.</li>
-<li>The C-API function <tt class="docutils literal">appendChild()</tt> is now deprecated as it does not
-propagate exceptions (its return type is <tt class="docutils literal">void</tt>).  The new function
-<tt class="docutils literal">appendChildToElement()</tt> was added as a safe replacement.</li>
-<li>Passing a string into <tt class="docutils literal">fromstringlist()</tt> raises an exception instead of
-parsing the string character by character.</li>
-</ul>
-</div>
-<div class="section" id="id25">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Document cleanup code was simplified using the new GC features in
-Cython 0.20.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta4-2014-01-12">
-<h1>3.3.0beta4 (2014-01-12)</h1>
-<div class="section" id="id26">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id27">
-<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
-objects was mutable.</li>
-<li>Element class lookup wasn't available for the new pull parsers or when using
-a custom parser target.</li>
-<li>Setting Element attributes on instantiation with both the <tt class="docutils literal">attrib</tt> argument
-and keyword arguments could modify the mapping passed as <tt class="docutils literal">attrib</tt>.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1266171">LP#1266171</a>: DTDs instantiated from internal/external subsets (i.e. through
-the docinfo property) lost their attribute declarations.</li>
-</ul>
-</div>
-<div class="section" id="id28">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Built with Cython 0.20pre (gitrev 012ae82eb) to prepare support for
-Python 3.4.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta3-2014-01-02">
-<h1>3.3.0beta3 (2014-01-02)</h1>
-<div class="section" id="id29">
-<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="id30">
-<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="id31">
-<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="id32">
-<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="id33">
-<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="id34">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The safety check in the read-only tree implementation (e.g. used by
-<tt class="docutils literal">PythonElementClassLookup</tt>) raises a more appropriate <tt class="docutils literal">ReferenceError</tt>
-for illegal access after tree disposal instead of an <tt class="docutils literal">AssertionError</tt>.
-This should only impact test code that specifically checks the original
-behaviour.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta1-2013-12-12">
-<h1>3.3.0beta1 (2013-12-12)</h1>
-<div class="section" id="id35">
-<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">resolve_base_href()</tt> (lxml.html) that enables ignoring or
-discarding links that fail to parse as URLs.</li>
-<li>New parser classes <tt class="docutils literal">XMLPullParser</tt> and <tt class="docutils literal">HTMLPullParser</tt> for
-incremental parsing, as implemented for ElementTree in Python 3.4.</li>
-<li><tt class="docutils literal">iterparse()</tt> enables recovery mode by default for HTML parsing
-(<tt class="docutils literal">html=True</tt>).</li>
-</ul>
-</div>
-<div class="section" id="id36">
-<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.
-comment or PI).</li>
-<li>Error messages in the log and in exception messages that originated
-from libxml2 could accidentally be picked up from preceding warnings
-instead of the actual error.</li>
-<li>The <tt class="docutils literal">ElementMaker</tt> in lxml.objectify did not accept a dict as
-argument for adding attributes to the element it's building. This
-works as in lxml.builder now.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1228881">LP#1228881</a>: <tt class="docutils literal">repr(XSLTAccessControl)</tt> failed in Python 3.</li>
-<li>Raise <tt class="docutils literal">ValueError</tt> when trying to append an Element to itself or
-to one of its own descendants, instead of running into an infinite
-loop.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1206077">LP#1206077</a>: htmldiff discarded whitespace from the output.</li>
-<li>Compressed plain-text serialisation to file-like objects was broken.</li>
-<li>lxml.html.formfill: Fix textarea form filling.
-The textarea used to be cleared before the new content was set,
-which removed the name attribute.</li>
-</ul>
-</div>
-<div class="section" id="id37">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Some basic API classes use freelists internally for faster
-instantiation.  This can speed up some <tt class="docutils literal">iterparse()</tt> scenarios,
-for example.</li>
-<li><tt class="docutils literal">iterparse()</tt> was rewritten to use the new <tt class="docutils literal">*PullParser</tt>
-classes internally instead of being a parser itself.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id38">
-<h1>3.2.5 (2014-01-02)</h1>
-<div class="section" id="id39">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id40">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash in xmlfile() when closing open elements out of order in an error case.</li>
-<li>Crash in target parsing with attributes.</li>
-<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.
-comment or PI).</li>
-</ul>
-</div>
-<div class="section" id="id42">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id43">
-<h1>3.2.4 (2013-11-07)</h1>
-<div class="section" id="id44">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id45">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Memory leak when creating an XPath evaluator in a thread.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1228881">LP#1228881</a>: <tt class="docutils literal">repr(XSLTAccessControl)</tt> failed in Python 3.</li>
-<li>Raise <tt class="docutils literal">ValueError</tt> when trying to append an Element to itself or
-to one of its own descendants.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1206077">LP#1206077</a>: htmldiff discarded whitespace from the output.</li>
-<li>Compressed plain-text serialisation to file-like objects was broken.</li>
-</ul>
-</div>
-<div class="section" id="id48">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id49">
-<h1>3.2.3 (2013-07-28)</h1>
-<div class="section" id="id50">
-<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="id51">
-<h1>3.2.2 (2013-07-28)</h1>
-<div class="section" id="id52">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id53">
-<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="id54">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Return values of user provided element class lookup methods are now
-validated against the type of the XML node they represent to prevent
-API class mismatches.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id55">
-<h1>3.2.1 (2013-05-11)</h1>
-<div class="section" id="id56">
-<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
-extension elements have gained two new boolean options <tt class="docutils literal">elements_only</tt>
-and <tt class="docutils literal">remove_blank_text</tt> that discard either all strings or whitespace-only
-strings from the result list.</li>
-</ul>
-</div>
-<div class="section" id="id57">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>When moving Elements to another tree, the namespace cleanup mechanism
-no longer drops namespace prefixes from attributes for which it finds
-a default namespace declaration, to prevent them from appearing as
-unnamespaced attributes after serialisation.</li>
-<li>Returning non-type objects from a custom class lookup method could lead
-to a crash.</li>
-<li>Instantiating and using subtypes of Comments and ProcessingInstructions
-crashed.</li>
-</ul>
-</div>
-<div class="section" id="id58">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id59">
-<h1>3.2.0 (2013-04-28)</h1>
-<div class="section" id="id60">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id61">
-<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
-parsing functions in <tt class="docutils literal">lxml.html</tt>.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/599318">LP#599318</a>: The string parsing functions in <tt class="docutils literal">lxml.html</tt> are more robust
-in the face of uncommon HTML content like framesets or missing body tags.
-Patch by Stefan Seelmann.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/712941">LP#712941</a>: I/O errors while trying to access files with paths that contain
-non-ASCII characters could raise <tt class="docutils literal">UnicodeDecodeError</tt> instead of properly
-reporting the <tt class="docutils literal">IOError</tt>.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/673205">LP#673205</a>: Parsing from in-memory strings disabled network access in the
-default parser and made subsequent attempts to parse from a URL fail.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/971754">LP#971754</a>: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
-of overwriting the current value.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/715687">LP#715687</a>: lxml.html.clean no longer discards scripts that are explicitly
-allowed by the user provided whitelist.  Patch by Christine Koppelt.</li>
-</ul>
-</div>
-<div class="section" id="id62">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id63">
-<h1>3.1.2 (2013-04-12)</h1>
-<div class="section" id="id64">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id65">
-<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
-the sax bridge (i.e. the <tt class="docutils literal">handler.startElement()</tt> method) failed
-with a <tt class="docutils literal">TypeError</tt>.  Patch by Mike Bayer.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1123074">LP#1123074</a>: Fix serialisation error in XSLT output when converting
-the result tree to a Unicode string.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/105">GH#105</a>: Replace illegal usage of <tt class="docutils literal">xmlBufLength()</tt> in libxml2 2.9.0
-by properly exported API function <tt class="docutils literal">xmlBufUse()</tt>.</li>
-</ul>
-</div>
-<div class="section" id="id66">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id67">
-<h1>3.1.1 (2013-03-29)</h1>
-<div class="section" id="id68">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id69">
-<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
-an AttributeError in Py3.</li>
-<li>Illegal memory access during cleanup in incremental xmlfile writer.</li>
-</ul>
-</div>
-<div class="section" id="id70">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The externally useless class <tt class="docutils literal">lxml.etree._BaseParser</tt> was removed
-from the module dict.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id71">
-<h1>3.1.0 (2013-02-10)</h1>
-<div class="section" id="id72">
-<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="id73">
-<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
-a copy of the attributes as a plain Python dict.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/95">GH#95</a>: When used with namespace prefixes, the  <tt class="docutils literal"><span class="pre">el.find*()</span></tt> methods
-always used the first namespace mapping that was provided for each
-path expression instead of using the one that was actually passed
-in for the current run.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1092521">LP#1092521</a>, <a class="reference external" href="https://github.com/lxml/lxml/issues/91">GH#91</a>: Fix undefined C symbol in Python runtimes compiled
-without threading support.  Patch by Ulrich Seidl.</li>
-</ul>
-</div>
-<div class="section" id="id74">
-<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="id75">
-<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
-makes the API always return Unicode strings for names and text
-instead of byte strings for plain ASCII content.</li>
-<li>New incremental XML file writing API <tt class="docutils literal">etree.xmlfile()</tt>.</li>
-<li>E factory in lxml.objectify is callable to simplify the creation of
-tags with non-identifier names without having to resort to getattr().</li>
-</ul>
-</div>
-<div class="section" id="id76">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>When starting from a non-namespaced element in lxml.objectify, searching
-for a child without explicitly specifying a namespace incorrectly found
-namespaced elements with the requested local name, instead of restricting
-the search to non-namespaced children.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/85">GH#85</a>: Deprecation warnings were fixed for Python 3.x.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/33">GH#33</a>: lxml.html.fromstring() failed to accept bytes input in Py3.</li>
-<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="id77">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The externally useless class <tt class="docutils literal">_ObjectifyElementMakerCaller</tt> was
-removed from the module API of lxml.objectify.</li>
-<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1075622">LP#1075622</a>: lxml.builder is faster for adding text to elements with
-many children.  Patch by Anders Hammarquist.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id78">
-<h1>3.0.2 (2012-12-14)</h1>
-<div class="section" id="id79">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id80">
-<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="id81">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id82">
-<h1>3.0.1 (2012-10-14)</h1>
-<div class="section" id="id83">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id84">
-<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
-in PyPy without proper cleanup.</li>
-<li><a class="reference external" href="https://github.com/lxml/lxml/issues/71">GH#71</a>: Failure to work with libxml2 2.6.x.</li>
-<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="id85">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id86">
-<h1>3.0 (2012-10-08)</h1>
-<div class="section" id="id87">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id88">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>End-of-file handling was incorrect in iterparse() when reading from
-a low-level C file stream and failed in libxml2 2.9.0 due to its
-improved consistency checks.</li>
-</ul>
-</div>
-<div class="section" id="id89">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The build no longer uses Cython by default unless the generated C files
-are missing.  To use Cython, pass the option &quot;--with-cython&quot;.  To ignore
-the fatal build error when Cython is required but not available (e.g. to
-run special setup.py commands that do not actually run a build), pass
-&quot;--without-cython&quot;.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta1-2012-09-26">
-<h1>3.0beta1 (2012-09-26)</h1>
-<div class="section" id="id90">
-<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="id91">
-<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="id92">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The code was adapted to work with the upcoming libxml2 2.9.0 release.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="alpha2-2012-08-23">
-<h1>3.0alpha2 (2012-08-23)</h1>
-<div class="section" id="id93">
-<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
-<tt class="docutils literal"><span class="pre">&quot;{*}name&quot;</span></tt> to search for elements with a given local name in any
-namespace. With this addition, all combinations of wildcards now work
-as expected:
-<tt class="docutils literal">&quot;{ns}name&quot;</tt>, <tt class="docutils literal"><span class="pre">&quot;{}name&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;{*}name&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;{ns}*&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;{}*&quot;</span></tt>
-and <tt class="docutils literal"><span class="pre">&quot;{*}*&quot;</span></tt>.  Note that <tt class="docutils literal">&quot;name&quot;</tt> is equivalent to <tt class="docutils literal"><span class="pre">&quot;{}name&quot;</span></tt>,
-but <tt class="docutils literal">&quot;*&quot;</tt> is <tt class="docutils literal"><span class="pre">&quot;{*}*&quot;</span></tt>.
-The same change applies to the <tt class="docutils literal">.getiterator()</tt>, <tt class="docutils literal">.itersiblings()</tt>,
-<tt class="docutils literal">.iterancestors()</tt>, <tt class="docutils literal">.iterdescendants()</tt>, <tt class="docutils literal">.iterchildren()</tt>
-and <tt class="docutils literal">.itertext()</tt> methods;the <tt class="docutils literal">strip_attributes()</tt>,
-<tt class="docutils literal">strip_elements()</tt> and <tt class="docutils literal">strip_tags()</tt> functions as well as the
-<tt class="docutils literal">iterparse()</tt> class.  Patch by Simon Sapin.</li>
-<li>C14N allows specifying the inclusive prefixes to be promoted
-to top-level during exclusive serialisation.</li>
-</ul>
-</div>
-<div class="section" id="id94">
-<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="id95">
-<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="id96">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Initial support for building in PyPy (through cpyext).</li>
-<li>DTD objects gained an API that allows read access to their
-declarations.</li>
-<li><tt class="docutils literal">xpathgrep.py</tt> gained support for parsing line-by-line (e.g.
-from grep output) and for surrounding the output with a new root
-tag.</li>
-<li><tt class="docutils literal"><span class="pre">E-factory</span></tt> in <tt class="docutils literal">lxml.builder</tt> accepts subtypes of known data
-types (such as string subtypes) when building elements around them.</li>
-<li>Tree iteration and <tt class="docutils literal">iterparse()</tt> with a selective <tt class="docutils literal">tag</tt>
-argument supports passing a set of tags.  Tree nodes will be
-returned by the iterators if they match any of the tags.</li>
-</ul>
-</div>
-<div class="section" id="id97">
-<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
-internally, which makes them faster in many cases (especially when
-short circuiting after a single or couple of elements) and fixes
-some behavioural differences compared to <tt class="docutils literal">lxml.etree</tt>.  Note that
-this means that they no longer support arbitrary XPath expressions
-but only the subset that the <tt class="docutils literal">ElementPath</tt> language supports.
-The previous implementation was also redundant with the normal
-XPath support, which can be used as a replacement.</li>
-<li><tt class="docutils literal"><span class="pre">el.find('*')</span></tt> could accidentally return a comment or processing
-instruction that happened to be in the wrong spot.  (Same for the
-other <tt class="docutils literal"><span class="pre">.find*()</span></tt> methods.)</li>
-<li>The error logging is less intrusive and avoids a global setup where
-possible.</li>
-<li>Fixed undefined names in html5lib parser.</li>
-<li><tt class="docutils literal">xpathgrep.py</tt> did not work in Python 3.</li>
-<li><tt class="docutils literal">Element.attrib.update()</tt> did not accept an <tt class="docutils literal">attrib</tt> of
-another Element as parameter.</li>
-<li>For subtypes of <tt class="docutils literal">ElementBase</tt> that make the <tt class="docutils literal">.text</tt> or <tt class="docutils literal">.tail</tt>
-properties immutable (as in objectify, for example), inserting text
-when creating Elements through the E-Factory feature of the class
-constructor would fail with an exception, stating that the text
-cannot be modified.</li>
-</ul>
-</div>
-<div class="section" id="id98">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The code base was overhauled to properly use 'const' where the API
-of libxml2 and libxslt requests it.  This also has an impact on the
-public C-API of lxml itself, as defined in <tt class="docutils literal">etreepublic.pxd</tt>, as
-well as the provided declarations in the <tt class="docutils literal">lxml/includes/</tt> directory.
-Code that uses these declarations may have to be adapted.  On the
-plus side, this fixes several C compiler warnings, also for user
-code, thus making it easier to spot real problems again.</li>
-<li>The functionality of &quot;lxml.cssselect&quot; was moved into a separate PyPI
-package called &quot;cssselect&quot;.  To continue using it, you must install
-that package separately.  The &quot;lxml.cssselect&quot; module is still
-available and provides the same interface, provided the &quot;cssselect&quot;
-package can be imported at runtime.</li>
-<li>Element attributes passed in as an <tt class="docutils literal">attrib</tt> dict or as keyword
-arguments are now sorted by (namespaced) name before being created
-to make their order predictable for serialisation and iteration.
-Note that adding or deleting attributes afterwards does not take
-that order into account, i.e. setting a new attribute appends it
-after the existing ones.</li>
-<li>Several classes that are for internal use only were removed
-from the <tt class="docutils literal">lxml.etree</tt> module dict:
-<tt class="docutils literal">_InputDocument, _ResolverRegistry, _ResolverContext, _BaseContext,
-_ExsltRegExp, _IterparseContext, _TempStore, _ExceptionContext,
-__ContentOnlyElement, _AttribIterator, _NamespaceRegistry,
-_ClassNamespaceRegistry, _FunctionNamespaceRegistry,
-_XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
-_FileReaderContext, _ParserContext, _PythonSaxParserTarget,
-_TargetParserContext, _ReadOnlyProxy, _ReadOnlyPIProxy,
-_ReadOnlyEntityProxy, _ReadOnlyElementProxy, _OpaqueNodeWrapper,
-_OpaqueDocumentWrapper, _ModifyContentOnlyProxy,
-_ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
-_AppendOnlyElementProxy, _SaxParserContext, _FilelikeWriter,
-_ParserSchemaValidationContext, _XPathContext,
-_XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam</tt></li>
-<li>Several internal classes can no longer be inherited from:
-<tt class="docutils literal">_InputDocument, _ResolverRegistry, _ExsltRegExp, _ElementUnicodeResult,
-_IterparseContext, _TempStore, _AttribIterator, _ClassNamespaceRegistry,
-_XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
-_FileReaderContext, _PythonSaxParserTarget, _TargetParserContext,
-_ReadOnlyPIProxy, _ReadOnlyEntityProxy, _OpaqueDocumentWrapper,
-_ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
-_AppendOnlyElementProxy, _FilelikeWriter, _ParserSchemaValidationContext,
-_XPathContext, _XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam,
-_XSLTResultTree, _XSLTProcessingInstruction</tt></li>
-</ul>
-</div>
-</div>
-<div class="section" id="id99">
-<h1>2.3.6 (2012-09-28)</h1>
-<div class="section" id="id100">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id101">
-<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="id102">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id103">
-<h1>2.3.5 (2012-07-31)</h1>
-<div class="section" id="id104">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id105">
-<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="id106">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id107">
-<h1>2.3.4 (2012-03-26)</h1>
-<div class="section" id="id108">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id109">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash when building an nsmap (Element property) with empty
-namespace URIs.</li>
-<li>Crash due to race condition when errors (or user messages) occur
-during threaded XSLT processing.</li>
-<li>XSLT stylesheet compilation could ignore compilation errors.</li>
-</ul>
-</div>
-<div class="section" id="id110">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id111">
-<h1>2.3.3 (2012-01-04)</h1>
-<div class="section" id="id112">
-<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="id113">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Fixed a crash when using <tt class="docutils literal">iterparse()</tt> for HTML parsing and
-requesting start events.</li>
-<li>Fixed parsing of more selectors in cssselect.  Whitespace before
-pseudo-elements and pseudo-classes is significant as it is a
-descendant combinator.
-&quot;E :pseudo&quot; should parse the same as &quot;E *:pseudo&quot;, not &quot;E:pseudo&quot;.
-Patch by Simon Sapin.</li>
-<li>lxml.html.diff no longer raises an exception when hitting
-'img' tags without 'src' attribute.</li>
-</ul>
-</div>
-<div class="section" id="id114">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id115">
-<h1>2.3.2 (2011-11-11)</h1>
-<div class="section" id="id116">
-<h2>Features added</h2>
-<ul class="simple">
-<li><tt class="docutils literal">lxml.objectify.deannotate()</tt> has a new boolean option
-<tt class="docutils literal">cleanup_namespaces</tt> to remove the objectify namespace
-declarations (and generally clean up the namespace declarations)
-after removing the type annotations.</li>
-<li><tt class="docutils literal">lxml.objectify</tt> gained its own <tt class="docutils literal">SubElement()</tt> function as a
-copy of <tt class="docutils literal">etree.SubElement</tt> to avoid an otherwise redundant import
-of <tt class="docutils literal">lxml.etree</tt> on the user side.</li>
-</ul>
-</div>
-<div class="section" id="id117">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Fixed the &quot;descendant&quot; bug in cssselect a second time (after a first
-fix in lxml 2.3.1).  The previous change resulted in a serious
-performance regression for the XPath based evaluation of the
-translated expression.  Note that this breaks the usage of some of
-the generated XPath expressions as XSLT location paths that
-previously worked in 2.3.1.</li>
-<li>Fixed parsing of some selectors in cssselect. Whitespace after combinators
-&quot;&gt;&quot;, &quot;+&quot; and &quot;~&quot; is now correctly ignored. Previously is was parsed as
-a descendant combinator. For example, &quot;div&gt; .foo&quot; was parsed the same as
-&quot;div&gt;* .foo&quot; instead of &quot;div&gt;.foo&quot;. Patch by Simon Sapin.</li>
-</ul>
-</div>
-<div class="section" id="id118">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id119">
-<h1>2.3.1 (2011-09-25)</h1>
-<div class="section" id="id120">
-<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
-tags and their content (i.e. their whole subtree).</li>
-<li><tt class="docutils literal">pi.get()</tt> and <tt class="docutils literal">pi.attrib</tt> on processing instructions to parse
-pseudo-attributes from the text content of processing instructions.</li>
-<li><tt class="docutils literal">lxml.get_include()</tt> returns a list of include paths that can be
-used to compile external C code against lxml.etree.  This is
-specifically required for statically linked lxml builds when code
-needs to compile against the exact same header file versions as lxml
-itself.</li>
-<li><tt class="docutils literal">Resolver.resolve_file()</tt> takes an additional option
-<tt class="docutils literal">close_file</tt> that configures if the file(-like) object will be
-closed after reading or not.  By default, the file will be closed,
-as the user is not expected to keep a reference to it.</li>
-</ul>
-</div>
-<div class="section" id="id121">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>HTML cleaning didn't remove 'data:' links.</li>
-<li>The html5lib parser integration now uses the 'official'
-implementation in html5lib itself, which makes it work with newer
-releases of the library.</li>
-<li>In <tt class="docutils literal">lxml.sax</tt>, <tt class="docutils literal">endElementNS()</tt> could incorrectly reject a plain
-tag name when the corresponding start event inferred the same plain
-tag name to be in the default namespace.</li>
-<li>When an open file-like object is passed into <tt class="docutils literal">parse()</tt> or
-<tt class="docutils literal">iterparse()</tt>, the parser will no longer close it after use.  This
-reverts a change in lxml 2.3 where all files would be closed.  It is
-the users responsibility to properly close the file(-like) object,
-also in error cases.</li>
-<li>Assertion error in lxml.html.cleaner when discarding top-level elements.</li>
-<li>In lxml.cssselect, use the xpath 'A//B' (short for
-'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for
-the css descendant selector ('A B').  This makes a few edge cases
-like <tt class="docutils literal">&quot;div <span class="pre">*:last-child&quot;</span></tt> consistent with the selector behavior in
-WebKit and Firefox, and makes more css expressions valid location
-paths (for use in xsl:template match).</li>
-<li>In lxml.html, non-selected <tt class="docutils literal">&lt;option&gt;</tt> tags no longer show up in the
-collected form values.</li>
-<li>Adding/removing <tt class="docutils literal">&lt;option&gt;</tt> values to/from a multiple select form
-field properly selects them and unselects them.</li>
-</ul>
-</div>
-<div class="section" id="id122">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Static builds can specify the download directory with the
-<tt class="docutils literal"><span class="pre">--download-dir</span></tt> option.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id123">
-<h1>2.3 (2011-02-06)</h1>
-<div class="section" id="id124">
-<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="id125">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>When finished reading from a file-like object, the parser
-immediately calls its <tt class="docutils literal">.close()</tt> method.</li>
-<li>When finished parsing, <tt class="docutils literal">iterparse()</tt> immediately closes the input
-file.</li>
-<li>Work-around for libxml2 bug that can leave the HTML parser in a
-non-functional state after parsing a severly broken document (fixed
-in libxml2 2.7.8).</li>
-<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="id126">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Some public functions in the Cython-level C-API have more explicit
-return types.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta1-2010-09-06">
-<h1>2.3beta1 (2010-09-06)</h1>
-<div class="section" id="id127">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id128">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash in newer libxml2 versions when moving elements between
-documents that had attributes on replaced XInclude nodes.</li>
-<li><tt class="docutils literal">XMLID()</tt> function was missing the optional <tt class="docutils literal">parser</tt> and
-<tt class="docutils literal">base_url</tt> parameters.</li>
-<li>Searching for wildcard tags in <tt class="docutils literal">iterparse()</tt> was broken in Py3.</li>
-<li><tt class="docutils literal">lxml.html.open_in_browser()</tt> didn't work in Python 3 due to the
-use of os.tempnam.  It now takes an optional 'encoding' parameter.</li>
-</ul>
-</div>
-<div class="section" id="id129">
-<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="id130">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id131">
-<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="id132">
-<h2>Other changes</h2>
-<ul class="simple">
-<li><tt class="docutils literal">repr()</tt> of Element objects shows the hex ID with leading 0x
-(following ElementTree 1.3).</li>
-</ul>
-</div>
-</div>
-<div class="section" id="alpha1-2010-06-19">
-<h1>2.3alpha1 (2010-06-19)</h1>
-<div class="section" id="id133">
-<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>
-to pass a prefix-to-namespace mapping for the selector.</li>
-<li>New function <tt class="docutils literal">lxml.etree.register_namespace(prefix, uri)</tt> that
-globally registers a namespace prefix for a namespace that newly
-created Elements in that namespace will use automatically.  Follows
-ElementTree 1.3.</li>
-<li>Support 'unicode' string name as encoding parameter in
-<tt class="docutils literal">tostring()</tt>, following ElementTree 1.3.</li>
-<li>Support 'c14n' serialisation method in <tt class="docutils literal">ElementTree.write()</tt> and
-<tt class="docutils literal">tostring()</tt>, following ElementTree 1.3.</li>
-<li>The ElementPath expression syntax (<tt class="docutils literal"><span class="pre">el.find*()</span></tt>) was extended to
-match the upcoming ElementTree 1.3 that will ship in the standard
-library of Python 3.2/2.7.  This includes extended support for
-predicates as well as namespace prefixes (as known from XPath).</li>
-<li>During regular XPath evaluation, various ESXLT functions are
-available within their namespace when using libxslt 1.1.26 or later.</li>
-<li>Support passing a readily configured logger instance into
-<tt class="docutils literal">PyErrorLog</tt>, instead of a logger name.</li>
-<li>On serialisation, the new <tt class="docutils literal">doctype</tt> parameter can be used to
-override the DOCTYPE (internal subset) of the document.</li>
-<li>New parameter <tt class="docutils literal">output_parent</tt> to <tt class="docutils literal">XSLTExtension.apply_templates()</tt>
-to append the resulting content directly to an output element.</li>
-<li><tt class="docutils literal">XSLTExtension.process_children()</tt> to process the content of the
-XSLT extension element itself.</li>
-<li>ISO-Schematron support based on the de-facto Schematron reference
-'skeleton implementation'.</li>
-<li>XSLT objects now take XPath object as <tt class="docutils literal">__call__</tt> stylesheet
-parameters.</li>
-<li>Enable path caching in ElementPath (<tt class="docutils literal"><span class="pre">el.find*()</span></tt>) to avoid parsing
-overhead.</li>
-<li>Setting the value of a namespaced attribute always uses a prefixed
-namespace instead of the default namespace even if both declare the
-same namespace URI.  This avoids serialisation problems when an
-attribute from a default namespace is set on an element from a
-different namespace.</li>
-<li>XSLT extension elements: support for XSLT context nodes other than
-elements: document root, comments, processing instructions.</li>
-<li>Support for strings (in addition to Elements) in node-sets returned
-by extension functions.</li>
-<li>Forms that lack an <tt class="docutils literal">action</tt> attribute default to the base URL of
-the document on submit.</li>
-<li>XPath attribute result strings have an <tt class="docutils literal">attrname</tt> property.</li>
-<li>Namespace URIs get validated against RFC 3986 at the API level
-(required by the XML namespace specification).</li>
-<li>Target parsers show their target object in the <tt class="docutils literal">.target</tt> property
-(compatible with ElementTree).</li>
-</ul>
-</div>
-<div class="section" id="id134">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>API is hardened against invalid proxy instances to prevent crashes
-due to incorrectly instantiated Element instances.</li>
-<li>Prevent crash when instantiating <tt class="docutils literal">CommentBase</tt> and friends.</li>
-<li>Export ElementTree compatible XML parser class as
-<tt class="docutils literal">XMLTreeBuilder</tt>, as it is called in ET 1.2.</li>
-<li>ObjectifiedDataElements in lxml.objectify were not hashable.  They
-now use the hash value of the underlying Python value (string,
-number, etc.) to which they compare equal.</li>
-<li>Parsing broken fragments in lxml.html could fail if the fragment
-contained an orphaned closing '&lt;/div&gt;' tag.</li>
-<li>Using XSLT extension elements around the root of the output document
-crashed.</li>
-<li><tt class="docutils literal">lxml.cssselect</tt> did not distinguish between <tt class="docutils literal"><span class="pre">x[attr=&quot;val&quot;]</span></tt> and
-<tt class="docutils literal">x <span class="pre">[attr=&quot;val&quot;]</span></tt> (with a space).  The latter now matches the
-attribute independent of the element.</li>
-<li>Rewriting multiple links inside of HTML text content could end up
-replacing unrelated content as replacements could impact the
-reported position of subsequent matches.  Modifications are now
-simplified by letting the <tt class="docutils literal">iterlinks()</tt> generator in <tt class="docutils literal">lxml.html</tt>
-return links in reversed order if they appear inside the same text
-node.  Thus, replacements and link-internal modifications no longer
-change the position of links reported afterwards.</li>
-<li>The <tt class="docutils literal">.value</tt> attribute of <tt class="docutils literal">textarea</tt> elements in lxml.html did
-not represent the complete raw value (including child tags etc.). It
-now serialises the complete content on read and replaces the
-complete content by a string on write.</li>
-<li>Target parser didn't call <tt class="docutils literal">.close()</tt> on the target object if
-parsing failed.  Now it is guaranteed that <tt class="docutils literal">.close()</tt> will be
-called after parsing, regardless of the outcome.</li>
-</ul>
-</div>
-<div class="section" id="id135">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Official support for Python 3.1.2 and later.</li>
-<li>Static MS Windows builds can now download their dependencies
-themselves.</li>
-<li><tt class="docutils literal">Element.attrib</tt> no longer uses a cyclic reference back to its
-Element object.  It therefore no longer requires the garbage
-collector to clean up.</li>
-<li>Static builds include libiconv, in addition to libxml2 and libxslt.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id136">
-<h1>2.2.8 (2010-09-02)</h1>
-<div class="section" id="id137">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash in newer libxml2 versions when moving elements between
-documents that had attributes on replaced XInclude nodes.</li>
-<li>Import fix for urljoin in Python 3.1+.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id138">
-<h1>2.2.7 (2010-07-24)</h1>
-<div class="section" id="id139">
-<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>
-<div class="section" id="id140">
-<h1>2.2.6 (2010-03-02)</h1>
-<div class="section" id="id141">
-<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="id142">
-<h1>2.2.5 (2010-02-28)</h1>
-<div class="section" id="id143">
-<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 &quot;/&quot;).</li>
-</ul>
-</div>
-<div class="section" id="id144">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash in XPath evaluation when reading smart strings from a document
-other than the original context document.</li>
-<li>Support recent versions of html5lib by not requiring its
-<tt class="docutils literal">XHTMLParser</tt> in <tt class="docutils literal">htmlparser.py</tt> anymore.</li>
-<li>Manually instantiating the custom element classes in
-<tt class="docutils literal">lxml.objectify</tt> could crash.</li>
-<li>Invalid XML text characters were not rejected by the API when they
-appeared in unicode strings directly after non-ASCII characters.</li>
-<li>lxml.html.open_http_urllib() did not work in Python 3.</li>
-<li>The functions <tt class="docutils literal">strip_tags()</tt> and <tt class="docutils literal">strip_elements()</tt> in
-<tt class="docutils literal">lxml.etree</tt> did not remove all occurrences of a tag in all cases.</li>
-<li>Crash in XSLT extension elements when the XSLT context node is not
-an element.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id145">
-<h1>2.2.4 (2009-11-11)</h1>
-<div class="section" id="id146">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Static build of libxml2/libxslt was broken.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id147">
-<h1>2.2.3 (2009-10-30)</h1>
-<div class="section" id="id148">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id149">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>The <tt class="docutils literal">resolve_entities</tt> option did not work in the incremental feed
-parser.</li>
-<li>Looking up and deleting attributes without a namespace could hit a
-namespaced attribute of the same name instead.</li>
-<li>Late errors during calls to <tt class="docutils literal">SubElement()</tt> (e.g. attribute related
-ones) could leave a partially initialised element in the tree.</li>
-<li>Modifying trees that contain parsed entity references could result
-in an infinite loop.</li>
-<li>ObjectifiedElement.__setattr__ created an empty-string child element when the
-attribute value was rejected as a non-unicode/non-ascii string</li>
-<li>Syntax errors in <tt class="docutils literal">lxml.cssselect</tt> could result in misleading error
-messages.</li>
-<li>Invalid syntax in CSS expressions could lead to an infinite loop in
-the parser of <tt class="docutils literal">lxml.cssselect</tt>.</li>
-<li>CSS special character escapes were not properly handled in
-<tt class="docutils literal">lxml.cssselect</tt>.</li>
-<li>CSS Unicode escapes were not properly decoded in <tt class="docutils literal">lxml.cssselect</tt>.</li>
-<li>Select options in HTML forms that had no explicit <tt class="docutils literal">value</tt>
-attribute were not handled correctly.  The HTML standard dictates
-that their value is defined by their text content.  This is now
-supported by lxml.html.</li>
-<li>XPath raised a TypeError when finding CDATA sections.  This is now
-fully supported.</li>
-<li>Calling <tt class="docutils literal">help(lxml.objectify)</tt> didn't work at the prompt.</li>
-<li>The <tt class="docutils literal">ElementMaker</tt> in lxml.objectify no longer defines the default
-namespaces when annotation is disabled.</li>
-<li>Feed parser failed to honout the 'recover' option on parse errors.</li>
-<li>Diverting the error logging to Python's logging system was broken.</li>
-</ul>
-</div>
-<div class="section" id="id150">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id151">
-<h1>2.2.2 (2009-06-21)</h1>
-<div class="section" id="id152">
-<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>,
-<tt class="docutils literal">strip_tags()</tt> in lxml.etree to remove attributes/subtrees/tags
-from a subtree.</li>
-</ul>
-</div>
-<div class="section" id="id153">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Namespace cleanup on subtree insertions could result in missing
-namespace declarations (and potentially crashes) if the element
-defining a namespace was deleted and the namespace was not used by
-the top element of the inserted subtree but only in deeper subtrees.</li>
-<li>Raising an exception from a parser target callback didn't always
-terminate the parser.</li>
-<li>Only {true, false, 1, 0} are accepted as the lexical representation for
-BoolElement ({True, False, T, F, t, f} not any more), restoring lxml &lt;= 2.0
-behaviour.</li>
-</ul>
-</div>
-<div class="section" id="id154">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id155">
-<h1>2.2.1 (2009-06-02)</h1>
-<div class="section" id="id156">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Injecting default attributes into a document during XML Schema
-validation (also at parse time).</li>
-<li>Pass <tt class="docutils literal">huge_tree</tt> parser option to disable parser security
-restrictions imposed by libxml2 2.7.</li>
-</ul>
-</div>
-<div class="section" id="id157">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>The script for statically building libxml2 and libxslt didn't work
-in Py3.</li>
-<li><tt class="docutils literal">XMLSchema()</tt> also passes invalid schema documents on to libxml2
-for parsing (which could lead to a crash before release 2.6.24).</li>
-</ul>
-</div>
-<div class="section" id="id158">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id159">
-<h1>2.2 (2009-03-21)</h1>
-<div class="section" id="id160">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Support for <tt class="docutils literal">standalone</tt> flag in XML declaration through
-<tt class="docutils literal">tree.docinfo.standalone</tt> and by passing <tt class="docutils literal">standalone=True/False</tt>
-on serialisation.</li>
-</ul>
-</div>
-<div class="section" id="id161">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash when parsing an XML Schema with external imports from a
-filename.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta4-2009-02-27">
-<h1>2.2beta4 (2009-02-27)</h1>
-<div class="section" id="id162">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Support strings and instantiable Element classes as child arguments
-to the constructor of custom Element classes.</li>
-<li>GZip compression support for serialisation to files and file-like
-objects.</li>
-</ul>
-</div>
-<div class="section" id="id163">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Deep-copying an ElementTree copied neither its sibling PIs and
-comments nor its internal/external DTD subsets.</li>
-<li>Soupparser failed on broken attributes without values.</li>
-<li>Crash in XSLT when overwriting an already defined attribute using
-<tt class="docutils literal">xsl:attribute</tt>.</li>
-<li>Crash bug in exception handling code under Python 3.  This was due
-to a problem in Cython, not lxml itself.</li>
-<li><tt class="docutils literal">lxml.html.FormElement._name()</tt> failed for non top-level forms.</li>
-<li><tt class="docutils literal">TAG</tt> special attribute in constructor of custom Element classes
-was evaluated incorrectly.</li>
-</ul>
-</div>
-<div class="section" id="id164">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Official support for Python 3.0.1.</li>
-<li><tt class="docutils literal">Element.findtext()</tt> now returns an empty string instead of None
-for Elements without text content.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta3-2009-02-17">
-<h1>2.2beta3 (2009-02-17)</h1>
-<div class="section" id="id165">
-<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="id166">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Memory leak in XPath evaluators.</li>
-<li>Crash when parsing indented XML in one thread and merging it with
-other documents parsed in another thread.</li>
-<li>Setting the <tt class="docutils literal">base</tt> attribute in <tt class="docutils literal">lxml.objectify</tt> from a unicode
-string failed.</li>
-<li>Fixes following changes in Python 3.0.1.</li>
-<li>Minor fixes for Python 3.</li>
-</ul>
-</div>
-<div class="section" id="id167">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The global error log (which is copied into the exception log) is now
-local to a thread, which fixes some race conditions.</li>
-<li>More robust error handling on serialisation.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta2-2009-01-25">
-<h1>2.2beta2 (2009-01-25)</h1>
-<div class="section" id="id168">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Potential memory leak on exception handling.  This was due to a
-problem in Cython, not lxml itself.</li>
-<li><tt class="docutils literal">iter_links</tt> (and related link-rewriting functions) in
-<tt class="docutils literal">lxml.html</tt> would interpret CSS like <tt class="docutils literal"><span class="pre">url(&quot;link&quot;)</span></tt> incorrectly
-(treating the quotation marks as part of the link).</li>
-<li>Failing import on systems that have an <tt class="docutils literal">io</tt> module.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id169">
-<h1>2.1.5 (2009-01-06)</h1>
-<div class="section" id="id170">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Potential memory leak on exception handling.  This was due to a
-problem in Cython, not lxml itself.</li>
-<li>Failing import on systems that have an <tt class="docutils literal">io</tt> module.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta1-2008-12-12">
-<h1>2.2beta1 (2008-12-12)</h1>
-<div class="section" id="id171">
-<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="id172">
-<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="id173">
-<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="id174">
-<h1>2.1.4 (2008-12-12)</h1>
-<div class="section" id="id175">
-<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="id176">
-<h1>2.0.11 (2008-12-12)</h1>
-<div class="section" id="id177">
-<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="alpha1-2008-11-23">
-<h1>2.2alpha1 (2008-11-23)</h1>
-<div class="section" id="id178">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Support for XSLT result tree fragments in XPath/XSLT extension
-functions.</li>
-<li>QName objects have new properties <tt class="docutils literal">namespace</tt> and <tt class="docutils literal">localname</tt>.</li>
-<li>New options for exclusive C14N and C14N without comments.</li>
-<li>Instantiating a custom Element classes creates a new Element.</li>
-</ul>
-</div>
-<div class="section" id="id179">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>XSLT didn't inherit the parse options of the input document.</li>
-<li>0-bytes could slip through the API when used inside of Unicode
-strings.</li>
-<li>With <tt class="docutils literal">lxml.html.clean.autolink</tt>, links with balanced parenthesis,
-that end in a parenthesis, will be linked in their entirety (typical
-with Wikipedia links).</li>
-</ul>
-</div>
-<div class="section" id="id180">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id181">
-<h1>2.1.3 (2008-11-17)</h1>
-<div class="section" id="id182">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id183">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Ref-count leaks when lxml enters a try-except statement while an
-outside exception lives in sys.exc_*(). This was due to a problem in
-Cython, not lxml itself.</li>
-<li>Parser Unicode decoding errors could get swallowed by other
-exceptions.</li>
-<li>Name/import errors in some Python modules.</li>
-<li>Internal DTD subsets that did not specify a system or public ID were
-not serialised and did not appear in the docinfo property of
-ElementTrees.</li>
-<li>Fix a pre-Py3k warning when parsing from a gzip file in Py2.6.</li>
-<li>Test suite fixes for libxml2 2.7.</li>
-<li>Resolver.resolve_string() did not work for non-ASCII byte strings.</li>
-<li>Resolver.resolve_file() was broken.</li>
-<li>Overriding the parser encoding didn't work for many encodings.</li>
-</ul>
-</div>
-<div class="section" id="id184">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id185">
-<h1>2.0.10 (2008-11-17)</h1>
-<div class="section" id="id186">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Ref-count leaks when lxml enters a try-except statement while an
-outside exception lives in sys.exc_*(). This was due to a problem in
-Cython, not lxml itself.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id187">
-<h1>2.1.2 (2008-09-05)</h1>
-<div class="section" id="id188">
-<h2>Features added</h2>
-<ul class="simple">
-<li>lxml.etree now tries to find the absolute path name of files when
-parsing from a file-like object.  This helps custom resolvers when
-resolving relative URLs, as lixbml2 can prepend them with the path
-of the source document.</li>
-</ul>
-</div>
-<div class="section" id="id189">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Memory problem when passing documents between threads.</li>
-<li>Target parser did not honour the <tt class="docutils literal">recover</tt> option and raised an
-exception instead of calling <tt class="docutils literal">.close()</tt> on the target.</li>
-</ul>
-</div>
-<div class="section" id="id190">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id191">
-<h1>2.0.9 (2008-09-05)</h1>
-<div class="section" id="id192">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Memory problem when passing documents between threads.</li>
-<li>Target parser did not honour the <tt class="docutils literal">recover</tt> option and raised an
-exception instead of calling <tt class="docutils literal">.close()</tt> on the target.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id193">
-<h1>2.1.1 (2008-07-24)</h1>
-<div class="section" id="id194">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id195">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash when parsing XSLT stylesheets in a thread and using them in
-another.</li>
-<li>Encoding problem when including text with ElementInclude under
-Python 3.</li>
-</ul>
-</div>
-<div class="section" id="id196">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id197">
-<h1>2.0.8 (2008-07-24)</h1>
-<div class="section" id="id198">
-<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="id199">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash when parsing XSLT stylesheets in a thread and using them in
-another.</li>
-<li>CSS selector parser dropped remaining expression after a function
-with parameters.</li>
-</ul>
-</div>
-<div class="section" id="id200">
-<h2>Other changes</h2>
-</div>
-</div>
-<div class="section" id="id201">
-<h1>2.1 (2008-07-09)</h1>
-<div class="section" id="id202">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Smart strings can be switched off in XPath (<tt class="docutils literal">smart_strings</tt>
-keyword option).</li>
-<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="id203">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Custom resolvers were not used for XMLSchema includes/imports and
-XInclude processing.</li>
-<li>CSS selector parser dropped remaining expression after a function
-with parameters.</li>
-</ul>
-</div>
-<div class="section" id="id204">
-<h2>Other changes</h2>
-<ul class="simple">
-<li><tt class="docutils literal">objectify.enableRecursiveStr()</tt> was removed, use
-<tt class="docutils literal">objectify.enable_recursive_str()</tt> instead</li>
-<li>Speed-up when running XSLTs on documents from other threads</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id205">
-<h1>2.0.7 (2008-06-20)</h1>
-<div class="section" id="id206">
-<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="id207">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Descending dot-separated classes in CSS selectors were not resolved
-correctly.</li>
-<li><tt class="docutils literal">ElementTree.parse()</tt> didn't handle target parser result.</li>
-<li>Potential threading problem in XInclude.</li>
-<li>Crash in Element class lookup classes when the __init__() method of
-the super class is not called from Python subclasses.</li>
-</ul>
-</div>
-<div class="section" id="id208">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Non-ASCII characters in attribute values are no longer escaped on
-serialisation.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta3-2008-06-19">
-<h1>2.1beta3 (2008-06-19)</h1>
-<div class="section" id="id209">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Major overhaul of <tt class="docutils literal">tools/xpathgrep.py</tt> script.</li>
-<li>Pickling <tt class="docutils literal">ElementTree</tt> objects in lxml.objectify.</li>
-<li>Support for parsing from file-like objects that return unicode
-strings.</li>
-<li>New function <tt class="docutils literal">etree.cleanup_namespaces(el)</tt> that removes unused
-namespace declarations from a (sub)tree (experimental).</li>
-<li>XSLT results support the buffer protocol in Python 3.</li>
-<li>Polymorphic functions in <tt class="docutils literal">lxml.html</tt> that accept either a tree or
-a parsable string will return either a UTF-8 encoded byte string, a
-unicode string or a tree, based on the type of the input.
-Previously, the result was always a byte string or a tree.</li>
-<li>Support for Python 2.6 and 3.0 beta.</li>
-<li>File name handling now uses a heuristic to convert between byte
-strings (usually filenames) and unicode strings (usually URLs).</li>
-<li>Parsing from a plain file object frees the GIL under Python 2.x.</li>
-<li>Running <tt class="docutils literal">iterparse()</tt> on a plain file (or filename) frees the GIL
-on reading under Python 2.x.</li>
-<li>Conversion functions <tt class="docutils literal">html_to_xhtml()</tt> and <tt class="docutils literal">xhtml_to_html()</tt> in
-lxml.html (experimental).</li>
-<li>Most features in lxml.html work for XHTML namespaced tag names
-(experimental).</li>
-</ul>
-</div>
-<div class="section" id="id210">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li><tt class="docutils literal">ElementTree.parse()</tt> didn't handle target parser result.</li>
-<li>Crash in Element class lookup classes when the __init__() method of
-the super class is not called from Python subclasses.</li>
-<li>A number of problems related to unicode/byte string conversion of
-filenames and error messages were fixed.</li>
-<li>Building on MacOS-X now passes the &quot;flat_namespace&quot; option to the C
-compiler, which reportedly prevents build quirks and crashes on this
-platform.</li>
-<li>Windows build was broken.</li>
-<li>Rare crash when serialising to a file object with certain encodings.</li>
-</ul>
-</div>
-<div class="section" id="id211">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Non-ASCII characters in attribute values are no longer escaped on
-serialisation.</li>
-<li>Passing non-ASCII byte strings or invalid unicode strings as .tag,
-namespaces, etc. will result in a ValueError instead of an
-AssertionError (just like the tag well-formedness check).</li>
-<li>Up to several times faster attribute access (i.e. tree traversal) in
-lxml.objectify.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id212">
-<h1>2.0.6 (2008-05-31)</h1>
-<div class="section" id="id213">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id214">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Incorrect evaluation of <tt class="docutils literal"><span class="pre">el.find(&quot;tag[child]&quot;)</span></tt>.</li>
-<li>Windows build was broken.</li>
-<li>Moving a subtree from a document created in one thread into a
-document of another thread could crash when the rest of the source
-document is deleted while the subtree is still in use.</li>
-<li>Rare crash when serialising to a file object with certain encodings.</li>
-</ul>
-</div>
-<div class="section" id="id215">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>lxml should now build without problems on MacOS-X.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="beta2-2008-05-02">
-<h1>2.1beta2 (2008-05-02)</h1>
-<div class="section" id="id216">
-<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>
-<li>lxml.html has a new parser class <tt class="docutils literal">XHTMLParser</tt> and a module
-attribute <tt class="docutils literal">xhtml_parser</tt> that provide XML parsers that are
-pre-configured for the lxml.html package.</li>
-</ul>
-</div>
-<div class="section" id="id217">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Moving a subtree from a document created in one thread into a
-document of another thread could crash when the rest of the source
-document is deleted while the subtree is still in use.</li>
-<li>Passing an nsmap when creating an Element will no longer strip
-redundantly defined namespace URIs.  This prevented the definition
-of more than one prefix for a namespace on the same Element.</li>
-</ul>
-</div>
-<div class="section" id="id218">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>If the default namespace is redundantly defined with a prefix on the
-same Element, the prefix will now be preferred for subelements and
-attributes.  This allows users to work around a problem in libxml2
-where attributes from the default namespace could serialise without
-a prefix even when they appear on an Element with a different
-namespace (i.e. they would end up in the wrong namespace).</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id219">
-<h1>2.0.5 (2008-05-01)</h1>
-<div class="section" id="id220">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id221">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Resolving to a filename in custom resolvers didn't work.</li>
-<li>lxml did not honour libxslt's second error state &quot;STOPPED&quot;, which
-let some XSLT errors pass silently.</li>
-<li>Memory leak in Schematron with libxml2 &gt;= 2.6.31.</li>
-</ul>
-</div>
-<div class="section" id="id222">
-<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="id223">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Error logging in Schematron (requires libxml2 2.6.32 or later).</li>
-<li>Parser option <tt class="docutils literal">strip_cdata</tt> for normalising or keeping CDATA
-sections.  Defaults to <tt class="docutils literal">True</tt> as before, thus replacing CDATA
-sections by their text content.</li>
-<li><tt class="docutils literal">CDATA()</tt> factory to wrap string content as CDATA section.</li>
-</ul>
-</div>
-<div class="section" id="id224">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Resolving to a filename in custom resolvers didn't work.</li>
-<li>lxml did not honour libxslt's second error state &quot;STOPPED&quot;, which
-let some XSLT errors pass silently.</li>
-<li>Memory leak in Schematron with libxml2 &gt;= 2.6.31.</li>
-<li>lxml.etree accepted non well-formed namespace prefix names.</li>
-</ul>
-</div>
-<div class="section" id="id225">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Major cleanup in internal <tt class="docutils literal">moveNodeToDocument()</tt> function, which
-takes care of namespace cleanup when moving elements between
-different namespace contexts.</li>
-<li>New Elements created through the <tt class="docutils literal">makeelement()</tt> method of an HTML
-parser or through lxml.html now end up in a new HTML document
-(doctype HTML 4.01 Transitional) instead of a generic XML document.
-This mostly impacts the serialisation and the availability of a DTD
-context.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id226">
-<h1>2.0.4 (2008-04-13)</h1>
-<div class="section" id="id227">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id228">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Hanging thread in conjunction with GTK threading.</li>
-<li>Crash bug in iterparse when moving elements into other documents.</li>
-<li>HTML elements' <tt class="docutils literal">.cssselect()</tt> method was broken.</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="id229">
-<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="id230">
-<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">XSLTAccessControl</tt> instances have a property <tt class="docutils literal">options</tt> that
-returns a dict of access configuration options.</li>
-<li>Constant instances <tt class="docutils literal">DENY_ALL</tt> and <tt class="docutils literal">DENY_WRITE</tt> on
-<tt class="docutils literal">XSLTAccessControl</tt> class.</li>
-<li>Extension elements for XSLT (experimental!)</li>
-<li><tt class="docutils literal">Element.base</tt> property returns the xml:base or HTML base URL of
-an Element.</li>
-<li><tt class="docutils literal">docinfo.URL</tt> property is writable.</li>
-</ul>
-</div>
-<div class="section" id="id231">
-<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="id232">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Minor API speed-ups.</li>
-<li>The benchmark suite now uses tail text in the trees, which makes the
-absolute numbers incomparable to previous results.</li>
-<li>Generating the HTML documentation now requires <a class="reference external" href="http://pygments.org/">Pygments</a>, which is
-used to enable syntax highlighting for the doctest examples.</li>
-</ul>
-<p>Most long-time deprecated functions and methods were removed:</p>
-<ul>
-<li><p class="first"><tt class="docutils literal">etree.clearErrorLog()</tt>, use <tt class="docutils literal">etree.clear_error_log()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">etree.useGlobalPythonLog()</tt>, use
-<tt class="docutils literal">etree.use_global_python_log()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">etree.ElementClassLookup.setFallback()</tt>, use
-<tt class="docutils literal">etree.ElementClassLookup.set_fallback()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">etree.getDefaultParser()</tt>, use <tt class="docutils literal">etree.get_default_parser()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">etree.setDefaultParser()</tt>, use <tt class="docutils literal">etree.set_default_parser()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">etree.setElementClassLookup()</tt>, use
-<tt class="docutils literal">etree.set_element_class_lookup()</tt></p>
-<p>Note that <tt class="docutils literal">parser.setElementClassLookup()</tt> has not been removed
-yet, although <tt class="docutils literal">parser.set_element_class_lookup()</tt> should be used
-instead.</p>
-</li>
-<li><p class="first"><tt class="docutils literal">xpath_evaluator.registerNamespace()</tt>, use
-<tt class="docutils literal">xpath_evaluator.register_namespace()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">xpath_evaluator.registerNamespaces()</tt>, use
-<tt class="docutils literal">xpath_evaluator.register_namespaces()</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">objectify.setPytypeAttributeTag</tt>, use
-<tt class="docutils literal">objectify.set_pytype_attribute_tag</tt></p>
-</li>
-<li><p class="first"><tt class="docutils literal">objectify.setDefaultParser()</tt>, use
-<tt class="docutils literal">objectify.set_default_parser()</tt></p>
-</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id233">
-<h1>2.0.3 (2008-03-26)</h1>
-<div class="section" id="id234">
-<h2>Features added</h2>
-<ul class="simple">
-<li>soupparser.parse() allows passing keyword arguments on to
-BeautifulSoup.</li>
-<li><tt class="docutils literal">fromstring()</tt> method in <tt class="docutils literal">lxml.html.soupparser</tt>.</li>
-</ul>
-</div>
-<div class="section" id="id235">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li><tt class="docutils literal">lxml.html.diff</tt> didn't treat empty tags properly (e.g.,
-<tt class="docutils literal">&lt;br&gt;</tt>).</li>
-<li>Handle entity replacements correctly in target parser.</li>
-<li>Crash when using <tt class="docutils literal">iterparse()</tt> with XML Schema validation.</li>
-<li>The BeautifulSoup parser (soupparser.py) did not replace entities,
-which made them turn up in text content.</li>
-<li>Attribute assignment of custom PyTypes in objectify could fail to
-correctly serialise the value to a string.</li>
-</ul>
-</div>
-<div class="section" id="id236">
-<h2>Other changes</h2>
-<ul class="simple">
-<li><tt class="docutils literal">lxml.html.ElementSoup</tt> was replaced by a new module
-<tt class="docutils literal">lxml.html.soupparser</tt> with a more consistent API.  The old module
-remains for compatibility with ElementTree's own ElementSoup module.</li>
-<li>Setting the XSLT_CONFIG and XML2_CONFIG environment variables at
-build time will let setup.py pick up the <tt class="docutils literal"><span class="pre">xml2-config</span></tt> and
-<tt class="docutils literal"><span class="pre">xslt-config</span></tt> scripts from the supplied path name.</li>
-<li>Passing <tt class="docutils literal"><span class="pre">--with-xml2-config=/path/to/xml2-config</span></tt> to setup.py will
-override the <tt class="docutils literal"><span class="pre">xml2-config</span></tt> script that is used to determine the C
-compiler options.  The same applies for the <tt class="docutils literal"><span class="pre">--with-xslt-config</span></tt>
-option.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id237">
-<h1>2.0.2 (2008-02-22)</h1>
-<div class="section" id="id238">
-<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="id239">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>The prefix for objectify's pytype namespace was missing from the set
-of default prefixes.</li>
-<li>Memory leak in Schematron (fixed only for libxml2 2.6.31+).</li>
-<li>Error type names in RelaxNG were reported incorrectly.</li>
-<li>Slice deletion bug fixed in objectify.</li>
-</ul>
-</div>
-<div class="section" id="id240">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Enabled doctests for some Python modules (especially <tt class="docutils literal">lxml.html</tt>).</li>
-<li>Add a <tt class="docutils literal">method</tt> argument to <tt class="docutils literal">lxml.html.tostring()</tt>
-(<tt class="docutils literal"><span class="pre">method=&quot;xml&quot;</span></tt> for XHTML output).</li>
-<li>Make it clearer that methods like <tt class="docutils literal">lxml.html.fromstring()</tt> take a
-<tt class="docutils literal">base_url</tt> argument.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id241">
-<h1>2.0.1 (2008-02-13)</h1>
-<div class="section" id="id242">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Child iteration in <tt class="docutils literal">lxml.pyclasslookup</tt>.</li>
-<li>Loads of new docstrings reflect the signature of functions and
-methods to make them visible in API docs and <tt class="docutils literal">help()</tt></li>
-</ul>
-</div>
-<div class="section" id="id243">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>The module <tt class="docutils literal">lxml.html.builder</tt> was duplicated as
-<tt class="docutils literal">lxml.htmlbuilder</tt></li>
-<li>Form elements would return None for <tt class="docutils literal">form.fields.keys()</tt> if there
-was an unnamed input field.  Now unnamed input fields are completely
-ignored.</li>
-<li>Setting an element slice in objectify could insert slice-overlapping
-elements at the wrong position.</li>
-</ul>
-</div>
-<div class="section" id="id244">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>The generated API documentation was cleaned up and disburdened from
-non-public classes etc.</li>
-<li>The previously public module <tt class="docutils literal">lxml.html.setmixin</tt> was renamed to
-<tt class="docutils literal">lxml.html._setmixin</tt> as it is not an official part of lxml.  If
-you want to use it, feel free to copy it over to your own source
-base.</li>
-<li>Passing <tt class="docutils literal"><span class="pre">--with-xslt-config=/path/to/xslt-config</span></tt> to setup.py will
-override the <tt class="docutils literal"><span class="pre">xslt-config</span></tt> script that is used to determine the C
-compiler options.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id245">
-<h1>2.0 (2008-02-01)</h1>
-<div class="section" id="id246">
-<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
-serialise to unicode.  The <tt class="docutils literal">tounicode()</tt> function is now
-deprecated.</li>
-<li><tt class="docutils literal">XMLSchema()</tt> and <tt class="docutils literal">RelaxNG()</tt> can parse from StringIO.</li>
-<li><tt class="docutils literal">makeparser()</tt> function in <tt class="docutils literal">lxml.objectify</tt> to create a new
-parser with the usual objectify setup.</li>
-<li>Plain ASCII XPath string results are no longer forced into unicode
-objects as in 2.0beta1, but are returned as plain strings as before.</li>
-<li>All XPath string results are 'smart' objects that have a
-<tt class="docutils literal">getparent()</tt> method to retrieve their parent Element.</li>
-<li><tt class="docutils literal">with_tail</tt> option in serialiser functions.</li>
-<li>More accurate exception messages in validator creation.</li>
-<li>Parse-time XML schema validation (<tt class="docutils literal">schema</tt> parser keyword).</li>
-<li>XPath string results of the <tt class="docutils literal">text()</tt> function and attribute
-selection make their Element container accessible through a
-<tt class="docutils literal">getparent()</tt> method.  As a side-effect, they are now always
-unicode objects (even ASCII strings).</li>
-<li><tt class="docutils literal">XSLT</tt> objects are usable in any thread - at the cost of a deep
-copy if they were not created in that thread.</li>
-<li>Invalid entity names and character references will be rejected by
-the <tt class="docutils literal">Entity()</tt> factory.</li>
-<li><tt class="docutils literal">entity.text</tt> returns the textual representation of the entity,
-e.g. <tt class="docutils literal">&amp;amp;</tt>.</li>
-<li>New properties <tt class="docutils literal">position</tt> and <tt class="docutils literal">code</tt> on ParseError exception (as
-in ET 1.3)</li>
-<li>Rich comparison of <tt class="docutils literal">element.attrib</tt> proxies.</li>
-<li>ElementTree compatible TreeBuilder class.</li>
-<li>Use default prefixes for some common XML namespaces.</li>
-<li><tt class="docutils literal">lxml.html.clean.Cleaner</tt> now allows for a <tt class="docutils literal">host_whitelist</tt>, and
-two overridable methods: <tt class="docutils literal">allow_embedded_url(el, url)</tt> and the
-more general <tt class="docutils literal">allow_element(el)</tt>.</li>
-<li>Extended slicing of Elements as in <tt class="docutils literal"><span class="pre">element[1:-1:2]</span></tt>, both in
-etree and in objectify</li>
-<li>Resolvers can now provide a <tt class="docutils literal">base_url</tt> keyword argument when
-resolving a document as string data.</li>
-<li>When using <tt class="docutils literal">lxml.doctestcompare</tt> you can give the doctest option
-<tt class="docutils literal">NOPARSE_MARKUP</tt> (like <tt class="docutils literal"># doctest: +NOPARSE_MARKUP</tt>) to suppress
-the special checking for one test.</li>
-<li>Separate <tt class="docutils literal">feed_error_log</tt> property for the feed parser interface.
-The normal parser interface and <tt class="docutils literal">iterparse</tt> continue to use
-<tt class="docutils literal">error_log</tt>.</li>
-<li>The normal parsers and the feed parser interface are now separated
-and can be used concurrently on the same parser instance.</li>
-<li><tt class="docutils literal">fromstringlist()</tt> and <tt class="docutils literal">tostringlist()</tt> functions as in
-ElementTree 1.3</li>
-<li><tt class="docutils literal">iterparse()</tt> accepts an <tt class="docutils literal">html</tt> boolean keyword argument for
-parsing with the HTML parser (note that this interface may be
-subject to change)</li>
-<li>Parsers accept an <tt class="docutils literal">encoding</tt> keyword argument that overrides the encoding
-of the parsed documents.</li>
-<li>New C-API function <tt class="docutils literal">hasChild()</tt> to test for children</li>
-<li><tt class="docutils literal">annotate()</tt> function in objectify can annotate with Python types and XSI
-types in one step.  Accompanied by <tt class="docutils literal">xsiannotate()</tt> and <tt class="docutils literal">pyannotate()</tt>.</li>
-<li><tt class="docutils literal">ET.write()</tt>, <tt class="docutils literal">tostring()</tt> and <tt class="docutils literal">tounicode()</tt> now accept a keyword
-argument <tt class="docutils literal">method</tt> that can be one of 'xml' (or None), 'html' or 'text' to
-serialise as XML, HTML or plain text content.</li>
-<li><tt class="docutils literal">iterfind()</tt> method on Elements returns an iterator equivalent to
-<tt class="docutils literal">findall()</tt></li>
-<li><tt class="docutils literal">itertext()</tt> method on Elements</li>
-<li>Setting a QName object as value of the .text property or as an attribute
-will resolve its prefix in the respective context</li>
-<li>ElementTree-like parser target interface as described in
-<a class="reference external" href="http://effbot.org/elementtree/elementtree-xmlparser.htm">http://effbot.org/elementtree/elementtree-xmlparser.htm</a></li>
-<li>ElementTree-like feed parser interface on XMLParser and HTMLParser
-(<tt class="docutils literal">feed()</tt> and <tt class="docutils literal">close()</tt> methods)</li>
-<li>Reimplemented <tt class="docutils literal">objectify.E</tt> for better performance and improved
-integration with objectify.  Provides extended type support based on
-registered PyTypes.</li>
-<li>XSLT objects now support deep copying</li>
-<li>New <tt class="docutils literal">makeSubElement()</tt> C-API function that allows creating a new
-subelement straight with text, tail and attributes.</li>
-<li>XPath extension functions can now access the current context node
-(<tt class="docutils literal">context.context_node</tt>) and use a context dictionary
-(<tt class="docutils literal">context.eval_context</tt>) from the context provided in their first
-parameter</li>
-<li>HTML tag soup parser based on BeautifulSoup in <tt class="docutils literal">lxml.html.ElementSoup</tt></li>
-<li>New module <tt class="docutils literal">lxml.doctestcompare</tt> by Ian Bicking for writing simplified
-doctests based on XML/HTML output.  Use by importing <tt class="docutils literal">lxml.usedoctest</tt> or
-<tt class="docutils literal">lxml.html.usedoctest</tt> from within a doctest.</li>
-<li>New module <tt class="docutils literal">lxml.cssselect</tt> by Ian Bicking for selecting Elements with CSS
-selectors.</li>
-<li>New package <tt class="docutils literal">lxml.html</tt> written by Ian Bicking for advanced HTML
-treatment.</li>
-<li>Namespace class setup is now local to the <tt class="docutils literal">ElementNamespaceClassLookup</tt>
-instance and no longer global.</li>
-<li>Schematron validation (incomplete in libxml2)</li>
-<li>Additional <tt class="docutils literal">stringify</tt> argument to <tt class="docutils literal">objectify.PyType()</tt> takes a
-conversion function to strings to support setting text values from arbitrary
-types.</li>
-<li>Entity support through an <tt class="docutils literal">Entity</tt> factory and element classes.  XML
-parsers now have a <tt class="docutils literal">resolve_entities</tt> keyword argument that can be set to
-False to keep entities in the document.</li>
-<li><tt class="docutils literal">column</tt> field on error log entries to accompany the <tt class="docutils literal">line</tt> field</li>
-<li>Error specific messages in XPath parsing and evaluation
-NOTE: for evaluation errors, you will now get an XPathEvalError instead of
-an XPathSyntaxError.  To catch both, you can except on <tt class="docutils literal">XPathError</tt></li>
-<li>The regular expression functions in XPath now support passing a node-set
-instead of a string</li>
-<li>Extended type annotation in objectify: new <tt class="docutils literal">xsiannotate()</tt> function</li>
-<li>EXSLT RegExp support in standard XPath (not only XSLT)</li>
-</ul>
-</div>
-<div class="section" id="id247">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Missing import in <tt class="docutils literal">lxml.html.clean</tt>.</li>
-<li>Some Python 2.4-isms prevented lxml from building/running under
-Python 2.3.</li>
-<li>XPath on ElementTrees could crash when selecting the virtual root
-node of the ElementTree.</li>
-<li>Compilation <tt class="docutils literal"><span class="pre">--without-threading</span></tt> was buggy in alpha5/6.</li>
-<li>Memory leak in the <tt class="docutils literal">parse()</tt> function.</li>
-<li>Minor bugs in XSLT error message formatting.</li>
-<li>Result document memory leak in target parser.</li>
-<li>Target parser failed to report comments.</li>
-<li>In the <tt class="docutils literal">lxml.html</tt> <tt class="docutils literal">iter_links</tt> method, links in <tt class="docutils literal">&lt;object&gt;</tt>
-tags weren't recognized.  (Note: plugin-specific link parameters
-still aren't recognized.)  Also, the <tt class="docutils literal">&lt;embed&gt;</tt> tag, though not
-standard, is now included in <tt class="docutils literal">lxml.html.defs.special_inline_tags</tt>.</li>
-<li>Using custom resolvers on XSLT stylesheets parsed from a string
-could request ill-formed URLs.</li>
-<li>With <tt class="docutils literal">lxml.doctestcompare</tt> if you do <tt class="docutils literal">&lt;tag <span class="pre">xmlns=&quot;...&quot;&gt;</span></tt> in your
-output, it will then be namespace-neutral (before the ellipsis was
-treated as a real namespace).</li>
-<li>AttributeError in feed parser on parse errors</li>
-<li>XML feed parser setup problem</li>
-<li>Type annotation for unicode strings in <tt class="docutils literal">DataElement()</tt></li>
-<li>lxml failed to serialise namespace declarations of elements other than the
-root node of a tree</li>
-<li>Race condition in XSLT where the resolver context leaked between concurrent
-XSLT calls</li>
-<li>lxml.etree did not check tag/attribute names</li>
-<li>The XML parser did not report undefined entities as error</li>
-<li>The text in exceptions raised by XML parsers, validators and XPath
-evaluators now reports the first error that occurred instead of the last</li>
-<li>Passing '' as XPath namespace prefix did not raise an error</li>
-<li>Thread safety in XPath evaluators</li>
-</ul>
-</div>
-<div class="section" id="id248">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>Exceptions carry only the part of the error log that is related to
-the operation that caused the error.</li>
-<li><tt class="docutils literal">XMLSchema()</tt> and <tt class="docutils literal">RelaxNG()</tt> now enforce passing the source
-file/filename through the <tt class="docutils literal">file</tt> keyword argument.</li>
-<li>The test suite now skips most doctests under Python 2.3.</li>
-<li><tt class="docutils literal">make clean</tt> no longer removes the .c files (use <tt class="docutils literal">make
-realclean</tt> instead)</li>
-<li>Minor performance tweaks for Element instantiation and subelement
-creation</li>
-<li>Various places in the XPath, XSLT and iteration APIs now require
-keyword-only arguments.</li>
-<li>The argument order in <tt class="docutils literal">element.itersiblings()</tt> was changed to
-match the order used in all other iteration methods.  The second
-argument ('preceding') is now a keyword-only argument.</li>
-<li>The <tt class="docutils literal">getiterator()</tt> method on Elements and ElementTrees was
-reverted to return an iterator as it did in lxml 1.x.  The ET API
-specification allows it to return either a sequence or an iterator,
-and it traditionally returned a sequence in ET and an iterator in
-lxml.  However, it is now deprecated in favour of the <tt class="docutils literal">iter()</tt>
-method, which should be used in new code wherever possible.</li>
-<li>The 'pretty printed' serialisation of ElementTree objects now
-inserts newlines at the root level between processing instructions,
-comments and the root tag.</li>
-<li>A 'pretty printed' serialisation is now terminated with a newline.</li>
-<li>Second argument to <tt class="docutils literal">lxml.etree.Extension()</tt> helper is no longer
-required, third argument is now a keyword-only argument <tt class="docutils literal">ns</tt>.</li>
-<li><tt class="docutils literal">lxml.html.tostring</tt> takes an <tt class="docutils literal">encoding</tt> argument.</li>
-<li>The module source files were renamed to &quot;lxml.*.pyx&quot;, such as
-&quot;lxml.etree.pyx&quot;.  This was changed for consistency with the way
-Pyrex commonly handles package imports.  The main effect is that
-classes now know about their fully qualified class name, including
-the package name of their module.</li>
-<li>Keyword-only arguments in some API functions, especially in the
-parsers and serialisers.</li>
-<li>Tag name validation in lxml.etree (and lxml.html) now distinguishes
-between HTML tags and XML tags based on the parser that was used to
-parse or create them.  HTML tags no longer reject any non-ASCII
-characters in tag names but only spaces and the special characters
-<tt class="docutils literal"><span class="pre">&lt;&gt;&amp;/&quot;'</span></tt>.</li>
-<li>lxml.etree now emits a warning if you use XPath with libxml2 2.6.27
-(which can crash on certain XPath errors)</li>
-<li>Type annotation in objectify now preserves the already annotated type by
-default to prevent loosing type information that is already there.</li>
-<li><tt class="docutils literal">element.getiterator()</tt> returns a list, use <tt class="docutils literal">element.iter()</tt> to retrieve
-an iterator (ElementTree 1.3 compatible behaviour)</li>
-<li>objectify.PyType for None is now called &quot;NoneType&quot;</li>
-<li><tt class="docutils literal">el.getiterator()</tt> renamed to <tt class="docutils literal">el.iter()</tt>, following ElementTree 1.3 -
-original name is still available as alias</li>
-<li>In the public C-API, <tt class="docutils literal">findOrBuildNodeNs()</tt> was replaced by the more
-generic <tt class="docutils literal">findOrBuildNodeNsPrefix</tt></li>
-<li>Major refactoring in XPath/XSLT extension function code</li>
-<li>Network access in parsers disabled by default</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id249">
-<h1>1.3.6 (2007-10-29)</h1>
-<div class="section" id="id250">
-<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="id251">
-<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>
-methods.  While this makes them take a lot longer to run, it also
-makes it easier to link a specific test to garbage collection
-problems that would otherwise appear in later tests.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id252">
-<h1>1.3.5 (2007-10-22)</h1>
-<div class="section" id="id253">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id254">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>lxml.etree could crash when adding more than 10000 namespaces to a
-document</li>
-<li>lxml failed to serialise namespace declarations of elements other
-than the root node of a tree</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id255">
-<h1>1.3.4 (2007-08-30)</h1>
-<div class="section" id="id256">
-<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
-<tt class="docutils literal">namespace</tt> and <tt class="docutils literal">nsmap</tt> to set a namespace and nsmap for the Elements it
-creates.</li>
-<li>The <tt class="docutils literal">docinfo</tt> on ElementTree objects has new properties <tt class="docutils literal">internalDTD</tt>
-and <tt class="docutils literal">externalDTD</tt> that return a DTD object for the internal or external
-subset of the document respectively.</li>
-<li>Serialising an ElementTree now includes any internal DTD subsets that are
-part of the document, as well as comments and PIs that are siblings of the
-root node.</li>
-</ul>
-</div>
-<div class="section" id="id257">
-<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="id258">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>lxml now raises a TagNameWarning about tag names containing ':' instead of
-an Error as 1.3.3 did.  The reason is that a number of projects currently
-misuse the previous lack of tag name validation to generate namespace
-prefixes without declaring namespaces.  Apart from the danger of generating
-broken XML this way, it also breaks most of the namespace-aware tools in
-XML, including XPath, XSLT and validation.  lxml 1.3.x will continue to
-support this bug with a Warning, while lxml 2.0 will be strict about
-well-formed tag names (not only regarding ':').</li>
-<li>Serialising an Element no longer includes its comment and PI siblings (only
-ElementTree serialisation includes them).</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id259">
-<h1>1.3.3 (2007-07-26)</h1>
-<div class="section" id="id260">
-<h2>Features added</h2>
-<ul class="simple">
-<li>ElementTree compatible parser <tt class="docutils literal">ETCompatXMLParser</tt> strips processing
-instructions and comments while parsing XML</li>
-<li>Parsers now support stripping PIs (keyword argument 'remove_pis')</li>
-<li><tt class="docutils literal">etree.fromstring()</tt> now supports parsing both HTML and XML, depending on
-the parser you pass.</li>
-<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="id261">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Parsing from Python Unicode strings failed on some platforms</li>
-<li><tt class="docutils literal">Element()</tt> did not raise an exception on tag names containing ':'</li>
-<li><tt class="docutils literal">Element.getiterator(tag)</tt> did not accept <tt class="docutils literal">Comment</tt> and
-<tt class="docutils literal">ProcessingInstruction</tt> as tags. It also accepts <tt class="docutils literal">Element</tt> now.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id262">
-<h1>1.3.2 (2007-07-03)</h1>
-<div class="section" id="id263">
-<h2>Features added</h2>
-</div>
-<div class="section" id="id264">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>&quot;deallocating None&quot; crash bug</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id265">
-<h1>1.3.1 (2007-07-02)</h1>
-<div class="section" id="id266">
-<h2>Features added</h2>
-<ul class="simple">
-<li>objectify.DataElement now supports setting values from existing data
-elements (not just plain Python types) and reuses defined namespaces etc.</li>
-<li>E-factory support for lxml.objectify (<tt class="docutils literal">objectify.E</tt>)</li>
-</ul>
-</div>
-<div class="section" id="id267">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Better way to prevent crashes in Element proxy cleanup code</li>
-<li>objectify.DataElement didn't set up None value correctly</li>
-<li>objectify.DataElement didn't check the value against the provided type hints</li>
-<li>Reference-counting bug in <tt class="docutils literal">Element.attrib.pop()</tt></li>
-</ul>
-</div>
-</div>
-<div class="section" id="id268">
-<h1>1.3 (2007-06-24)</h1>
-<div class="section" id="id269">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Module <tt class="docutils literal">lxml.pyclasslookup</tt> module implements an Element class lookup
-scheme that can access the entire tree in read-only mode to help determining
-a suitable Element class</li>
-<li>Parsers take a <tt class="docutils literal">remove_comments</tt> keyword argument that skips over comments</li>
-<li><tt class="docutils literal">parse()</tt> function in <tt class="docutils literal">objectify</tt>, corresponding to <tt class="docutils literal">XML()</tt> etc.</li>
-<li><tt class="docutils literal">Element.addnext(el)</tt> and <tt class="docutils literal">Element.addprevious(el)</tt> methods to support
-adding processing instructions and comments around the root node</li>
-<li><tt class="docutils literal">Element.attrib</tt> was missing <tt class="docutils literal">clear()</tt> and <tt class="docutils literal">pop()</tt> methods</li>
-<li>Extended type annotation in objectify: cleaner annotation namespace setup
-plus new <tt class="docutils literal">deannotate()</tt> function</li>
-<li>Support for custom Element class instantiation in lxml.sax: passing a
-<tt class="docutils literal">makeelement</tt> function to the ElementTreeContentHandler will reuse the
-lookup context of that function</li>
-<li>'.' represents empty ObjectPath (identity)</li>
-<li><tt class="docutils literal">Element.values()</tt> to accompany the existing <tt class="docutils literal">.keys()</tt> and <tt class="docutils literal">.items()</tt></li>
-<li><tt class="docutils literal">collectAttributes()</tt> C-function to build a list of attribute
-keys/values/items for a libxml2 node</li>
-<li><tt class="docutils literal">DTD</tt> validator class (like <tt class="docutils literal">RelaxNG</tt> and <tt class="docutils literal">XMLSchema</tt>)</li>
-<li>HTML generator helpers by Fredrik Lundh in <tt class="docutils literal">lxml.htmlbuilder</tt></li>
-<li><tt class="docutils literal">ElementMaker</tt> XML generator by Fredrik Lundh in <tt class="docutils literal">lxml.builder.E</tt></li>
-<li>Support for pickeling <tt class="docutils literal">objectify.ObjectifiedElement</tt> objects to XML</li>
-<li><tt class="docutils literal">update()</tt> method on Element.attrib</li>
-<li>Optimised replacement for libxml2's _xmlReconsiliateNs(). This allows lxml
-a better handling of namespaces when moving elements between documents.</li>
-</ul>
-</div>
-<div class="section" id="id270">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Removing Elements from a tree could make them loose their namespace
-declarations</li>
-<li><tt class="docutils literal">ElementInclude</tt> didn't honour base URL of original document</li>
-<li>Replacing the children slice of an Element would cut off the tails of the
-original children</li>
-<li><tt class="docutils literal">Element.getiterator(tag)</tt> did not accept <tt class="docutils literal">Comment</tt> and
-<tt class="docutils literal">ProcessingInstruction</tt> as tags</li>
-<li>API functions now check incoming strings for XML conformity.  Zero bytes or
-low ASCII characters are no longer accepted (AssertionError).</li>
-<li>XSLT parsing failed to pass resolver context on to imported documents</li>
-<li>passing '' as namespace prefix in nsmap could be passed through to libxml2</li>
-<li>Objectify couldn't handle prefixed XSD type names in <tt class="docutils literal">xsi:type</tt></li>
-<li>More ET compatible behaviour when writing out XML declarations or not</li>
-<li>More robust error handling in <tt class="docutils literal">iterparse()</tt></li>
-<li>Documents lost their top-level PIs and comments on serialisation</li>
-<li>lxml.sax failed on comments and PIs. Comments are now properly ignored and
-PIs are copied.</li>
-<li>Possible memory leaks in namespace handling when moving elements between
-documents</li>
-</ul>
-</div>
-<div class="section" id="id271">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>major restructuring in the documentation</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id272">
-<h1>1.2.1 (2007-02-27)</h1>
-<div class="section" id="id273">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Build fixes for MS compiler</li>
-<li>Item assignments to special names like <tt class="docutils literal"><span class="pre">element[&quot;text&quot;]</span></tt> failed</li>
-<li>Renamed ObjectifiedDataElement.__setText() to _setText() to make it easier
-to access</li>
-<li>The pattern for attribute names in ObjectPath was too restrictive</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id274">
-<h1>1.2 (2007-02-20)</h1>
-<div class="section" id="id275">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Rich comparison of QName objects</li>
-<li>Support for regular expressions in benchmark selection</li>
-<li>get/set emulation (not .attrib!) for attributes on processing instructions</li>
-<li>ElementInclude Python module for ElementTree compatible XInclude processing
-that honours custom resolvers registered with the source document</li>
-<li>ElementTree.parser property holds the parser used to parse the document</li>
-<li>setup.py has been refactored for greater readability and flexibility</li>
-<li>--rpath flag to setup.py to induce automatic linking-in of dynamic library
-runtime search paths has been renamed to --auto-rpath. This makes it
-possible to pass an --rpath directly to distutils; previously this was being
-shadowed.</li>
-</ul>
-</div>
-<div class="section" id="id276">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Element instantiation now uses locks to prevent race conditions with threads</li>
-<li>ElementTree.write() did not raise an exception when the file was not writable</li>
-<li>Error handling could crash under Python &lt;= 2.4.1 - fixed by disabling thread
-support in these environments</li>
-<li>Element.find*() did not accept QName objects as path</li>
-</ul>
-</div>
-<div class="section" id="id277">
-<h2>Other changes</h2>
-<ul class="simple">
-<li>code cleanup: redundant _NodeBase super class merged into _Element class
-Note: although the impact should be zero in most cases, this change breaks
-the compatibiliy of the public C-API</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id278">
-<h1>1.1.2 (2006-10-30)</h1>
-<div class="section" id="id279">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Data elements in objectify support repr(), which is now used by dump()</li>
-<li>Source distribution now ships with a patched Pyrex</li>
-<li>New C-API function makeElement() to create new elements with text,
-tail, attributes and namespaces</li>
-<li>Reuse original parser flags for XInclude</li>
-<li>Simplified support for handling XSLT processing instructions</li>
-</ul>
-</div>
-<div class="section" id="id280">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Parser resources were not freed before the next parser run</li>
-<li>Open files and XML strings returned by Python resolvers were not
-closed/freed</li>
-<li>Crash in the IDDict returned by XMLDTDID</li>
-<li>Copying Comments and ProcessingInstructions failed</li>
-<li>Memory leak for external URLs in _XSLTProcessingInstruction.parseXSL()</li>
-<li>Memory leak when garbage collecting tailed root elements</li>
-<li>HTML script/style content was not propagated to .text</li>
-<li>Show text xincluded between text nodes correctly in .text and .tail</li>
-<li>'integer * objectify.StringElement' operation was not supported</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id281">
-<h1>1.1.1 (2006-09-21)</h1>
-<div class="section" id="id282">
-<h2>Features added</h2>
-<ul class="simple">
-<li>XSLT profiling support (<tt class="docutils literal">profile_run</tt> keyword)</li>
-<li>countchildren() method on objectify.ObjectifiedElement</li>
-<li>Support custom elements for tree nodes in lxml.objectify</li>
-</ul>
-</div>
-<div class="section" id="id283">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>lxml.objectify failed to support long data values (e.g., &quot;123L&quot;)</li>
-<li>Error messages from XSLT did not reach <tt class="docutils literal">XSLT.error_log</tt></li>
-<li>Factories objectify.Element() and objectify.DataElement() were missing
-<tt class="docutils literal">attrib</tt> and <tt class="docutils literal">nsmap</tt> keyword arguments</li>
-<li>Changing the default parser in lxml.objectify did not update the factories
-Element() and DataElement()</li>
-<li>Let lxml.objectify.Element() always generate tree elements (not data
-elements)</li>
-<li>Build under Windows failed ('0' bug in patched Pyrex version)</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id284">
-<h1>1.1 (2006-09-13)</h1>
-<div class="section" id="id285">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Comments and processing instructions return '&lt;!-- coment --&gt;' and
-'&lt;?pi-target content?&gt;' for repr()</li>
-<li>Parsers are now the preferred (and default) place where element class lookup
-schemes should be registered.  Namespace lookup is no longer supported by
-default.</li>
-<li>Support for Python 2.5 beta</li>
-<li>Unlock the GIL for deep copying documents and for XPath()</li>
-<li>New <tt class="docutils literal">compact</tt> keyword argument for parsing read-only documents</li>
-<li>Support for parser options in iterparse()</li>
-<li>The <tt class="docutils literal">namespace</tt> axis is supported in XPath and returns (prefix, URI)
-tuples</li>
-<li>The XPath expression &quot;/&quot; now returns an empty list instead of raising an
-exception</li>
-<li>XML-Object API on top of lxml (lxml.objectify)</li>
-<li>Customizable Element class lookup:<ul>
-<li>different pre-implemented lookup mechanisms</li>
-<li>support for externally provided lookup functions</li>
-</ul>
-</li>
-<li>Support for processing instructions (ET-like, not compatible)</li>
-<li>Public C-level API for independent extension modules</li>
-<li>Module level <tt class="docutils literal">iterwalk()</tt> function as 'iterparse' for trees</li>
-<li>Module level <tt class="docutils literal">iterparse()</tt> function similar to ElementTree (see
-documentation for differences)</li>
-<li>Element.nsmap property returns a mapping of all namespace prefixes known at
-the Element to their namespace URI</li>
-<li>Reentrant threading support in RelaxNG, XMLSchema and XSLT</li>
-<li>Threading support in parsers and serializers:<ul>
-<li>All in-memory operations (tostring, parse(StringIO), etc.) free the GIL</li>
-<li>File operations (on file names) free the GIL</li>
-<li>Reading from file-like objects frees the GIL and reacquires it for reading</li>
-<li>Serialisation to file-like objects is single-threaded (high lock overhead)</li>
-</ul>
-</li>
-<li>Element iteration over XPath axes:<ul>
-<li>Element.iterdescendants() iterates over the descendants of an element</li>
-<li>Element.iterancestors() iterates over the ancestors of an element (from
-parent to parent)</li>
-<li>Element.itersiblings() iterates over either the following or preceding
-siblings of an element</li>
-<li>Element.iterchildren() iterates over the children of an element in either
-direction</li>
-<li>All iterators support the <tt class="docutils literal">tag</tt> keyword argument to restrict the
-generated elements</li>
-</ul>
-</li>
-<li>Element.getnext() and Element.getprevious() return the direct siblings of an
-element</li>
-</ul>
-</div>
-<div class="section" id="id286">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>filenames with local 8-bit encoding were not supported</li>
-<li>1.1beta did not compile under Python 2.3</li>
-<li>ignore unknown 'pyval' attribute values in objectify</li>
-<li>objectify.ObjectifiedElement.addattr() failed to accept Elements and Lists</li>
-<li>objectify.ObjectPath.setattr() failed to accept Elements and Lists</li>
-<li>XPathSyntaxError now inherits from XPathError</li>
-<li>Threading race conditions in RelaxNG and XMLSchema</li>
-<li>Crash when mixing elements from XSLT results into other trees, concurrent
-XSLT is only allowed when the stylesheet was parsed in the main thread</li>
-<li>The EXSLT <tt class="docutils literal">regexp:match</tt> function now works as defined (except for some
-differences in the regular expression syntax)</li>
-<li>Setting element.text to '' returned None on request, not the empty string</li>
-<li><tt class="docutils literal">iterparse()</tt> could crash on long XML files</li>
-<li>Creating documents no longer copies the parser for later URL resolving.  For
-performance reasons, only a reference is kept.  Resolver updates on the
-parser will now be reflected by documents that were parsed before the
-change.  Although this should rarely become visible, it is a behavioral
-change from 1.0.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id287">
-<h1>1.0.4 (2006-09-09)</h1>
-<div class="section" id="id288">
-<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="id289">
-<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="id290">
-<h1>1.0.3 (2006-08-08)</h1>
-<div class="section" id="id291">
-<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="id292">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Crash when mixing elements from XSLT results into other trees</li>
-<li>Copying/deepcopying did not work for ElementTree objects</li>
-<li>Setting an attribute to a non-string value did not raise an exception</li>
-<li>Element.remove() deleted the tail text from the removed Element</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id293">
-<h1>1.0.2 (2006-06-27)</h1>
-<div class="section" id="id294">
-<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="id295">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Rare exceptions in Python list functions were not handled</li>
-<li>Parsing accepted unicode strings with XML encoding declaration in certain
-cases</li>
-<li>Parsing 8-bit encoded strings from StringIO objects raised an exception</li>
-<li>Module function <tt class="docutils literal">initThread()</tt> was removed - useless (and never worked)</li>
-<li>XSLT and parser exception messages include the error line number</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id296">
-<h1>1.0.1 (2006-06-09)</h1>
-<div class="section" id="id297">
-<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="id298">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Document deallocation could crash in certain garbage collection scenarios</li>
-<li>Extension function calls in XSLT variable declarations could break the
-stylesheet and crash on repeated calls</li>
-<li>Deep copying Elements could loose namespaces declared in parents</li>
-<li>Deep copying Elements did not copy tail</li>
-<li>Parsing file(-like) objects failed to load external entities</li>
-<li>Parsing 8-bit strings from file(-like) objects raised an exception</li>
-<li>xsl:include failed when the stylesheet was parsed from a file-like object</li>
-<li>lxml.sax.ElementTreeProducer did not call startDocument() / endDocument()</li>
-<li>MSVC compiler complained about long strings (supports only 2048 bytes)</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id299">
-<h1>1.0 (2006-06-01)</h1>
-<div class="section" id="id300">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Element.getiterator() and the findall() methods support finding arbitrary
-elements from a namespace (pattern <tt class="docutils literal">{namespace}*</tt>)</li>
-<li>Another speedup in tree iteration code</li>
-<li>General speedup of Python Element object creation and deallocation</li>
-<li>Writing C14N no longer serializes in memory (reduced memory footprint)</li>
-<li>PyErrorLog for error logging through the Python <tt class="docutils literal">logging</tt> module</li>
-<li><tt class="docutils literal">Element.getroottree()</tt> returns an ElementTree for the root node of the
-document that contains the element.</li>
-<li>ElementTree.getpath(element) returns a simple, absolute XPath expression to
-find the element in the tree structure</li>
-<li>Error logs have a <tt class="docutils literal">last_error</tt> attribute for convenience</li>
-<li>Comment texts can be changed through the API</li>
-<li>Formatted output via <tt class="docutils literal">pretty_print</tt> keyword in serialization functions</li>
-<li>XSLT can block access to file system and network via <tt class="docutils literal">XSLTAccessControl</tt></li>
-<li>ElementTree.write() no longer serializes in memory (reduced memory
-footprint)</li>
-<li>Speedup of Element.findall(tag) and Element.getiterator(tag)</li>
-<li>Support for writing the XML representation of Elements and ElementTrees to
-Python unicode strings via <tt class="docutils literal">etree.tounicode()</tt></li>
-<li>Support for writing XSLT results to Python unicode strings via <tt class="docutils literal">unicode()</tt></li>
-<li>Parsing a unicode string no longer copies the string (reduced memory
-footprint)</li>
-<li>Parsing file-like objects reads chunks rather than the whole file (reduced
-memory footprint)</li>
-<li>Parsing StringIO objects from the start avoids copying the string (reduced
-memory footprint)</li>
-<li>Read-only 'docinfo' attribute in ElementTree class holds DOCTYPE
-information, original encoding and XML version as seen by the parser</li>
-<li>etree module can be compiled without libxslt by commenting out the line
-<tt class="docutils literal">include &quot;xslt.pxi&quot;</tt> near the end of the etree.pyx source file</li>
-<li>Better error messages in parser exceptions</li>
-<li>Error reporting also works in XSLT</li>
-<li>Support for custom document loaders (URI resolvers) in parsers and XSLT,
-resolvers are registered at parser level</li>
-<li>Implementation of exslt:regexp for XSLT based on the Python 're' module,
-enabled by default, can be switched off with 'regexp=False' keyword argument</li>
-<li>Support for exslt extensions (libexslt) and libxslt extra functions
-(node-set, document, write, output)</li>
-<li>Substantial speedup in XPath.evaluate()</li>
-<li>HTMLParser for parsing (broken) HTML</li>
-<li>XMLDTDID function parses XML into tuple (root node, ID dict) based on xml:id
-implementation of libxml2 (as opposed to ET compatible XMLID)</li>
-</ul>
-</div>
-<div class="section" id="id301">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Memory leak in Element.__setitem__</li>
-<li>Memory leak in Element.attrib.items() and Element.attrib.values()</li>
-<li>Memory leak in XPath extension functions</li>
-<li>Memory leak in unicode related setup code</li>
-<li>Element now raises ValueError on empty tag names</li>
-<li>Namespace fixing after moving elements between documents could fail if the
-source document was freed too early</li>
-<li>Setting namespace-less tag names on namespaced elements ('{ns}t' -&gt; 't')
-didn't reset the namespace</li>
-<li>Unknown constants from newer libxml2 versions could raise exceptions in the
-error handlers</li>
-<li>lxml.etree compiles much faster</li>
-<li>On libxml2 &lt;= 2.6.22, parsing strings with encoding declaration could fail
-in certain cases</li>
-<li>Document reference in ElementTree objects was not updated when the root
-element was moved to a different document</li>
-<li>Running absolute XPath expressions on an Element now evaluates against the
-root tree</li>
-<li>Evaluating absolute XPath expressions (<tt class="docutils literal">/*</tt>) on an ElementTree could fail</li>
-<li>Crashes when calling XSLT, RelaxNG, etc. with uninitialized ElementTree
-objects</li>
-<li>Removed public function <tt class="docutils literal">initThreadLogging()</tt>, replaced by more general
-<tt class="docutils literal">initThread()</tt> which fixes a number of setup problems in threads</li>
-<li>Memory leak when using iconv encoders in tostring/write</li>
-<li>Deep copying Elements and ElementTrees maintains the document information</li>
-<li>Serialization functions raise LookupError for unknown encodings</li>
-<li>Memory deallocation crash resulting from deep copying elements</li>
-<li>Some ElementTree methods could crash if the root node was not initialized
-(neither file nor element passed to the constructor)</li>
-<li>Element/SubElement failed to set attribute namespaces from passed <tt class="docutils literal">attrib</tt>
-dictionary</li>
-<li><tt class="docutils literal">tostring()</tt> adds an XML declaration for non-ASCII encodings</li>
-<li><tt class="docutils literal">tostring()</tt> failed to serialize encodings that contain 0-bytes</li>
-<li>ElementTree.xpath() and XPathDocumentEvaluator were not using the
-ElementTree root node as reference point</li>
-<li>Calling <tt class="docutils literal"><span class="pre">document('')</span></tt> in XSLT failed to return the stylesheet</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id302">
-<h1>0.9.2 (2006-05-10)</h1>
-<div class="section" id="id303">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Speedup for Element.makeelement(): the new element reuses the original
-libxml2 document instead of creating a new empty one</li>
-<li>Speedup for reversed() iteration over element children (Py2.4+ only)</li>
-<li>ElementTree compatible QName class</li>
-<li>RelaxNG and XMLSchema accept any Element, not only ElementTrees</li>
-</ul>
-</div>
-<div class="section" id="id304">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>str(xslt_result) was broken for XSLT output other than UTF-8</li>
-<li>Memory leak if write_c14n fails to write the file after conversion</li>
-<li>Crash in XMLSchema and RelaxNG when passing non-schema documents</li>
-<li>Memory leak in RelaxNG() when RelaxNGParseError is raised</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id305">
-<h1>0.9.1 (2006-03-30)</h1>
-<div class="section" id="id306">
-<h2>Features added</h2>
-<ul class="simple">
-<li>lxml.sax.ElementTreeContentHandler checks closing elements and raises
-SaxError on mismatch</li>
-<li>lxml.sax.ElementTreeContentHandler supports namespace-less SAX events
-(startElement, endElement) and defaults to empty attributes (keyword
-argument)</li>
-<li>Speedup for repeatedly accessing element tag names</li>
-<li>Minor API performance improvements</li>
-</ul>
-</div>
-<div class="section" id="id307">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Memory deallocation bug when using XSLT output method &quot;html&quot;</li>
-<li>sax.py was handling UTF-8 encoded tag names where it shouldn't</li>
-<li>lxml.tests package will no longer be installed (is still in source tar)</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id308">
-<h1>0.9 (2006-03-20)</h1>
-<div class="section" id="id309">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Error logging API for libxml2 error messages</li>
-<li>Various performance improvements</li>
-<li>Benchmark script for lxml, ElementTree and cElementTree</li>
-<li>Support for registering extension functions through new FunctionNamespace
-class (see doc/extensions.txt)</li>
-<li>ETXPath class for XPath expressions in ElementTree notation ('//{ns}tag')</li>
-<li>Support for variables in XPath expressions (also in XPath class)</li>
-<li>XPath class for compiled XPath expressions</li>
-<li>XMLID module level function (ElementTree compatible)</li>
-<li>XMLParser API for customized libxml2 parser configuration</li>
-<li>Support for custom Element classes through new Namespace API (see
-doc/namespace_extensions.txt)</li>
-<li>Common exception base class LxmlError for module exceptions</li>
-<li>real iterator support in iter(Element), Element.getiterator()</li>
-<li>XSLT objects are callable, result trees support str()</li>
-<li>Added MANIFEST.in for easier creation of RPM files.</li>
-<li>'getparent' method on elements allows navigation to an element's
-parent element.</li>
-<li>Python core compatible SAX tree builder and SAX event generator. See
-doc/sax.txt for more information.</li>
-</ul>
-</div>
-<div class="section" id="id310">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Segfaults and memory leaks in various API functions of Element</li>
-<li>Segfault in XSLT.tostring()</li>
-<li>ElementTree objects no longer interfere, Elements can be root of different
-ElementTrees at the same time</li>
-<li>document('') works in XSLT documents read from files (in-memory documents
-cannot support this due to libxslt deficiencies)</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id311">
-<h1>0.8 (2005-11-03)</h1>
-<div class="section" id="id312">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Support for copy.deepcopy() on elements. copy.copy() works also, but
-does the same thing, and does <em>not</em> create a shallow copy, as that
-makes no sense in the context of libxml2 trees. This means a
-potential incompatibility with ElementTree, but there's more chance
-that it works than if copy.copy() isn't supported at all.</li>
-<li>Increased compatibility with (c)ElementTree; .parse() on ElementTree is
-supported and parsing of gzipped XML files works.</li>
-<li>implemented index() on elements, allowing one to find the index of a
-SubElement.</li>
-</ul>
-</div>
-<div class="section" id="id313">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Use xslt-config instead of xml2-config to find out libxml2
-directories to take into account a case where libxslt is installed
-in a different directory than libxslt.</li>
-<li>Eliminate crash condition in iteration when text nodes are changed.</li>
-<li>Passing 'None' to tostring() does not result in a segfault anymore,
-but an AssertionError.</li>
-<li>Some test fixes for Windows.</li>
-<li>Raise XMLSyntaxError and XPathSyntaxError instead of plain python
-syntax errors. This should be less confusing.</li>
-<li>Fixed error with uncaught exception in Pyrex code.</li>
-<li>Calling lxml.etree.fromstring('') throws XMLSyntaxError instead of a
-segfault.</li>
-<li>has_key() works on attrib. 'in' tests also work correctly on attrib.</li>
-<li>INSTALL.txt was saying 2.2.16 instead of 2.6.16 as a supported
-libxml2 version, as it should.</li>
-<li>Passing a UTF-8 encoded string to the XML() function would fail;
-fixed.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id314">
-<h1>0.7 (2005-06-15)</h1>
-<div class="section" id="id315">
-<h2>Features added</h2>
-<ul class="simple">
-<li>parameters (XPath expressions) can be passed to XSLT using keyword
-parameters.</li>
-<li>Simple XInclude support. Calling the xinclude() method on a tree
-will process any XInclude statements in the document.</li>
-<li>XMLSchema support. Use the XMLSchema class or the convenience
-xmlschema() method on a tree to do XML Schema (XSD) validation.</li>
-<li>Added convenience xslt() method on tree. This is less efficient
-than the XSLT object, but makes it easier to write quick code.</li>
-<li>Added convenience relaxng() method on tree. This is less efficient
-than the RelaxNG object, but makes it easier to write quick code.</li>
-<li>Make it possible to use XPathEvaluator with elements as well. The
-XPathEvaluator in this case will retain the element so multiple
-XPath queries can be made against one element efficiently. This
-replaces the second argument to the .evaluate() method that existed
-previously.</li>
-<li>Allow registerNamespace() to be called on an XPathEvaluator, after
-creation, to add additional namespaces. Also allow registerNamespaces(),
-which does the same for a namespace dictionary.</li>
-<li>Add 'prefix' attribute to element to be able to read prefix information.
-This is entirely read-only.</li>
-<li>It is possible to supply an extra nsmap keyword parameter to
-the Element() and SubElement() constructors, which supplies a
-prefix to namespace URI mapping. This will create namespace
-prefix declarations on these elements and these prefixes will show up
-in XML serialization.</li>
-</ul>
-</div>
-<div class="section" id="id316">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Killed yet another memory management related bug: trees created
-using newDoc would not get a libxml2-level dictionary, which caused
-problems when deallocating these documents later if they contained a
-node that came from a document with a dictionary.</li>
-<li>Moving namespaced elements between documents was problematic as
-references to the original document would remain. This has been fixed
-by applying xmlReconciliateNs() after each move operation.</li>
-<li>Can pass None to 'dump()' without segfaults.</li>
-<li>tostring() works properly for non-root elements as well.</li>
-<li>Cleaned out the tostring() method so it should handle encoding
-correctly.</li>
-<li>Cleaned out the ElementTree.write() method so it should handle encoding
-correctly. Writing directly to a file should also be faster, as there is no
-need to go through a Python string in that case. Made sure the test cases
-test both serializing to StringIO as well as serializing to a real file.</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id317">
-<h1>0.6 (2005-05-14)</h1>
-<div class="section" id="id318">
-<h2>Features added</h2>
-<ul class="simple">
-<li>Changed setup.py so that library_dirs is also guessed. This should
-help with compilation on the Mac OS X platform, where otherwise the
-wrong library (shipping with the OS) could be picked up.</li>
-<li>Tweaked setup.py so that it picks up the version from version.txt.</li>
-</ul>
-</div>
-<div class="section" id="id319">
-<h2>Bugs fixed</h2>
-<ul class="simple">
-<li>Do the right thing when handling namespaced attributes.</li>
-<li>fix bug where tostring() moved nodes into new documents. tostring()
-had very nasty side-effects before this fix, sorry!</li>
-</ul>
-</div>
-</div>
-<div class="section" id="id320">
-<h1>0.5.1 (2005-04-09)</h1>
-<ul class="simple">
-<li>Python 2.2 compatibility fixes.</li>
-<li>unicode fixes in Element() and Comment() as well as XML(); unicode
-input wasn't properly being UTF-8 encoded.</li>
-</ul>
-</div>
-<div class="section" id="id321">
-<h1>0.5 (2005-04-08)</h1>
-<p>Initial public release.</p>
-</div>
-</div>
-<div class="footer">
-<hr class="footer" />
-Generated on: 2014-09-10.
-
-</div>
-</body>
-</html>
diff --git a/doc/html/changes-3.4.1.html b/doc/html/changes-3.4.1.html
new file mode 100644 (file)
index 0000000..3fd1811
--- /dev/null
@@ -0,0 +1,2932 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!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" />
+<meta name="generator" content="Docutils 0.10: http://docutils.sourceforge.net/" />
+<title>lxml changelog</title>
+<link rel="stylesheet" href="style.css" type="text/css" />
+</head>
+<body>
+<div class="document" id="lxml-changelog">
+<h1 class="title">lxml changelog</h1>
+
+<div class="section" id="id1">
+<h1>3.4.1 (2014-11-20)</h1>
+<div class="section" id="features-added">
+<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="bugs-fixed">
+<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="id2">
+<h1>3.4.0 (2014-09-10)</h1>
+<div class="section" id="id3">
+<h2>Features added</h2>
+<ul class="simple">
+<li><tt class="docutils literal">xmlfile(buffered=False)</tt> disables output buffering and flushes the
+content after each API operation (starting/ending element blocks or writes).
+A new method <tt class="docutils literal">xf.flush()</tt> can alternatively be used to explicitly flush
+the output.</li>
+<li><tt class="docutils literal">lxml.html.document_fromstring</tt> has a new option <tt class="docutils literal">ensure_head_body=True</tt>
+which will add an empty head and/or body element to the result document if
+missing.</li>
+<li><tt class="docutils literal">lxml.html.iterlinks</tt> now returns links inside meta refresh tags.</li>
+<li>New <tt class="docutils literal">XMLParser</tt> option <tt class="docutils literal">collect_ids=False</tt> to disable ID hash table
+creation.  This can substantially speed up parsing of documents with many
+different IDs that are not used.</li>
+<li>The parser uses per-document hash tables for XML IDs.  This reduces the
+load of the global parser dict and speeds up parsing for documents with
+many different IDs.</li>
+<li><tt class="docutils literal">ElementTree.getelementpath(element)</tt> returns a structural ElementPath
+expression for the given element, which can be used for lookups later.</li>
+<li><tt class="docutils literal">xmlfile()</tt> accepts a new argument <tt class="docutils literal">close=True</tt> to close file(-like)
+objects after writing to them.  Before, <tt class="docutils literal">xmlfile()</tt> only closed the file
+if it had opened it internally.</li>
+<li>Allow &quot;bytearray&quot; type for ASCII text input.</li>
+</ul>
+</div>
+<div class="section" id="id4">
+<h2>Bugs fixed</h2>
+</div>
+<div class="section" id="other-changes">
+<h2>Other changes</h2>
+<ul class="simple">
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/400588">LP#400588</a>: decoding errors have become hard errors even in recovery mode.
+Previously, they could lead to an internal tree representation in a mixed
+encoding state, which lead to very late errors or even silently incorrect
+behaviour during tree traversal or serialisation.</li>
+<li>Requires Python 2.6, 2.7, 3.2 or later. No longer supports
+Python 2.4, 2.5 and 3.1, use lxml 3.3.x for those.</li>
+<li>Requires libxml2 2.7.0 or later and libxslt 1.1.23 or later,
+use lxml 3.3.x with older versions.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id5">
+<h1>3.3.6 (2014-08-28)</h1>
+<div class="section" id="id6">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Prevent tree cycle creation when adding Elements as siblings.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1361948">LP#1361948</a>: crash when deallocating Element siblings without parent.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1354652">LP#1354652</a>: crash when traversing internally loaded documents in XSLT
+extension functions.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id7">
+<h1>3.3.5 (2014-04-18)</h1>
+<div class="section" id="id8">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>HTML cleaning could fail to strip javascript links that mix control
+characters into the link scheme.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id9">
+<h1>3.3.4 (2014-04-03)</h1>
+<div class="section" id="id10">
+<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="id11">
+<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="id12">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id13">
+<h1>3.3.3 (2014-03-04)</h1>
+<div class="section" id="id14">
+<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="id15">
+<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
+subclassed from Python code.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id16">
+<h1>3.3.2 (2014-02-26)</h1>
+<div class="section" id="id17">
+<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
+<tt class="docutils literal">set_element_class_lookup()</tt> and <tt class="docutils literal">makeelement()</tt>, were lost from
+<tt class="docutils literal">iterparse</tt> objects in 3.3.0.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1222132">LP#1222132</a>: instances of <tt class="docutils literal">XMLSchema</tt>, <tt class="docutils literal">Schematron</tt> and <tt class="docutils literal">RelaxNG</tt>
+did not clear their local <tt class="docutils literal">error_log</tt> before running a validation.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1238500">LP#1238500</a>: lxml.doctestcompare mixed up &quot;expected&quot; and &quot;actual&quot; in
+attribute values.</li>
+<li>Some file I/O tests were failing in MS-Windows due to non-portable temp
+file usage.  Initial patch by Gabi Davar.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/910014">LP#910014</a>: duplicate IDs in a document were not reported by DTD validation.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1185332">LP#1185332</a>: <tt class="docutils literal"><span class="pre">tostring(method=&quot;html&quot;)</span></tt> did not use HTML serialisation
+semantics for trailing tail text.  Initial patch by Sylvain Viollon.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1281139">LP#1281139</a>: <tt class="docutils literal">.attrib</tt> value of Comments lost its mutation methods
+in 3.3.0.  Even though it is empty and immutable, it should still
+provide the same interface as that returned for Elements.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id18">
+<h1>3.3.1 (2014-02-12)</h1>
+<div class="section" id="id19">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id20">
+<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
+elements during tag iteration.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1273709">LP#1273709</a>: Building in PyPy failed due to missing support for
+<tt class="docutils literal">PyUnicode_Compare()</tt> and <tt class="docutils literal"><span class="pre">PyByteArray_*()</span></tt> in PyPy's C-API.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1274413">LP#1274413</a>: Compilation in MSVC failed due to missing &quot;stdint.h&quot; standard
+header file.</li>
+<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="id21">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id22">
+<h1>3.3.0 (2014-01-26)</h1>
+<div class="section" id="id23">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id24">
+<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="id25">
+<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="id26">
+<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="id27">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Several error handling problems were fixed throughout the code base that
+could previously lead to exceptions being silently swallowed or not
+properly reported.</li>
+<li>The C-API function <tt class="docutils literal">appendChild()</tt> is now deprecated as it does not
+propagate exceptions (its return type is <tt class="docutils literal">void</tt>).  The new function
+<tt class="docutils literal">appendChildToElement()</tt> was added as a safe replacement.</li>
+<li>Passing a string into <tt class="docutils literal">fromstringlist()</tt> raises an exception instead of
+parsing the string character by character.</li>
+</ul>
+</div>
+<div class="section" id="id28">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Document cleanup code was simplified using the new GC features in
+Cython 0.20.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta4-2014-01-12">
+<h1>3.3.0beta4 (2014-01-12)</h1>
+<div class="section" id="id29">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id30">
+<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
+objects was mutable.</li>
+<li>Element class lookup wasn't available for the new pull parsers or when using
+a custom parser target.</li>
+<li>Setting Element attributes on instantiation with both the <tt class="docutils literal">attrib</tt> argument
+and keyword arguments could modify the mapping passed as <tt class="docutils literal">attrib</tt>.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1266171">LP#1266171</a>: DTDs instantiated from internal/external subsets (i.e. through
+the docinfo property) lost their attribute declarations.</li>
+</ul>
+</div>
+<div class="section" id="id31">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Built with Cython 0.20pre (gitrev 012ae82eb) to prepare support for
+Python 3.4.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta3-2014-01-02">
+<h1>3.3.0beta3 (2014-01-02)</h1>
+<div class="section" id="id32">
+<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="id33">
+<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="id34">
+<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="id35">
+<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="id36">
+<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="id37">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The safety check in the read-only tree implementation (e.g. used by
+<tt class="docutils literal">PythonElementClassLookup</tt>) raises a more appropriate <tt class="docutils literal">ReferenceError</tt>
+for illegal access after tree disposal instead of an <tt class="docutils literal">AssertionError</tt>.
+This should only impact test code that specifically checks the original
+behaviour.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta1-2013-12-12">
+<h1>3.3.0beta1 (2013-12-12)</h1>
+<div class="section" id="id38">
+<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">resolve_base_href()</tt> (lxml.html) that enables ignoring or
+discarding links that fail to parse as URLs.</li>
+<li>New parser classes <tt class="docutils literal">XMLPullParser</tt> and <tt class="docutils literal">HTMLPullParser</tt> for
+incremental parsing, as implemented for ElementTree in Python 3.4.</li>
+<li><tt class="docutils literal">iterparse()</tt> enables recovery mode by default for HTML parsing
+(<tt class="docutils literal">html=True</tt>).</li>
+</ul>
+</div>
+<div class="section" id="id39">
+<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.
+comment or PI).</li>
+<li>Error messages in the log and in exception messages that originated
+from libxml2 could accidentally be picked up from preceding warnings
+instead of the actual error.</li>
+<li>The <tt class="docutils literal">ElementMaker</tt> in lxml.objectify did not accept a dict as
+argument for adding attributes to the element it's building. This
+works as in lxml.builder now.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1228881">LP#1228881</a>: <tt class="docutils literal">repr(XSLTAccessControl)</tt> failed in Python 3.</li>
+<li>Raise <tt class="docutils literal">ValueError</tt> when trying to append an Element to itself or
+to one of its own descendants, instead of running into an infinite
+loop.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1206077">LP#1206077</a>: htmldiff discarded whitespace from the output.</li>
+<li>Compressed plain-text serialisation to file-like objects was broken.</li>
+<li>lxml.html.formfill: Fix textarea form filling.
+The textarea used to be cleared before the new content was set,
+which removed the name attribute.</li>
+</ul>
+</div>
+<div class="section" id="id40">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Some basic API classes use freelists internally for faster
+instantiation.  This can speed up some <tt class="docutils literal">iterparse()</tt> scenarios,
+for example.</li>
+<li><tt class="docutils literal">iterparse()</tt> was rewritten to use the new <tt class="docutils literal">*PullParser</tt>
+classes internally instead of being a parser itself.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id41">
+<h1>3.2.5 (2014-01-02)</h1>
+<div class="section" id="id42">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id43">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash in xmlfile() when closing open elements out of order in an error case.</li>
+<li>Crash in target parsing with attributes.</li>
+<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.
+comment or PI).</li>
+</ul>
+</div>
+<div class="section" id="id45">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id46">
+<h1>3.2.4 (2013-11-07)</h1>
+<div class="section" id="id47">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id48">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Memory leak when creating an XPath evaluator in a thread.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1228881">LP#1228881</a>: <tt class="docutils literal">repr(XSLTAccessControl)</tt> failed in Python 3.</li>
+<li>Raise <tt class="docutils literal">ValueError</tt> when trying to append an Element to itself or
+to one of its own descendants.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1206077">LP#1206077</a>: htmldiff discarded whitespace from the output.</li>
+<li>Compressed plain-text serialisation to file-like objects was broken.</li>
+</ul>
+</div>
+<div class="section" id="id51">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id52">
+<h1>3.2.3 (2013-07-28)</h1>
+<div class="section" id="id53">
+<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="id54">
+<h1>3.2.2 (2013-07-28)</h1>
+<div class="section" id="id55">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id56">
+<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="id57">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Return values of user provided element class lookup methods are now
+validated against the type of the XML node they represent to prevent
+API class mismatches.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id58">
+<h1>3.2.1 (2013-05-11)</h1>
+<div class="section" id="id59">
+<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
+extension elements have gained two new boolean options <tt class="docutils literal">elements_only</tt>
+and <tt class="docutils literal">remove_blank_text</tt> that discard either all strings or whitespace-only
+strings from the result list.</li>
+</ul>
+</div>
+<div class="section" id="id60">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>When moving Elements to another tree, the namespace cleanup mechanism
+no longer drops namespace prefixes from attributes for which it finds
+a default namespace declaration, to prevent them from appearing as
+unnamespaced attributes after serialisation.</li>
+<li>Returning non-type objects from a custom class lookup method could lead
+to a crash.</li>
+<li>Instantiating and using subtypes of Comments and ProcessingInstructions
+crashed.</li>
+</ul>
+</div>
+<div class="section" id="id61">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id62">
+<h1>3.2.0 (2013-04-28)</h1>
+<div class="section" id="id63">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id64">
+<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
+parsing functions in <tt class="docutils literal">lxml.html</tt>.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/599318">LP#599318</a>: The string parsing functions in <tt class="docutils literal">lxml.html</tt> are more robust
+in the face of uncommon HTML content like framesets or missing body tags.
+Patch by Stefan Seelmann.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/712941">LP#712941</a>: I/O errors while trying to access files with paths that contain
+non-ASCII characters could raise <tt class="docutils literal">UnicodeDecodeError</tt> instead of properly
+reporting the <tt class="docutils literal">IOError</tt>.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/673205">LP#673205</a>: Parsing from in-memory strings disabled network access in the
+default parser and made subsequent attempts to parse from a URL fail.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/971754">LP#971754</a>: lxml.html.clean appends 'nofollow' to 'rel' attributes instead
+of overwriting the current value.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/715687">LP#715687</a>: lxml.html.clean no longer discards scripts that are explicitly
+allowed by the user provided whitelist.  Patch by Christine Koppelt.</li>
+</ul>
+</div>
+<div class="section" id="id65">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id66">
+<h1>3.1.2 (2013-04-12)</h1>
+<div class="section" id="id67">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id68">
+<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
+the sax bridge (i.e. the <tt class="docutils literal">handler.startElement()</tt> method) failed
+with a <tt class="docutils literal">TypeError</tt>.  Patch by Mike Bayer.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1123074">LP#1123074</a>: Fix serialisation error in XSLT output when converting
+the result tree to a Unicode string.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/105">GH#105</a>: Replace illegal usage of <tt class="docutils literal">xmlBufLength()</tt> in libxml2 2.9.0
+by properly exported API function <tt class="docutils literal">xmlBufUse()</tt>.</li>
+</ul>
+</div>
+<div class="section" id="id69">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id70">
+<h1>3.1.1 (2013-03-29)</h1>
+<div class="section" id="id71">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id72">
+<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
+an AttributeError in Py3.</li>
+<li>Illegal memory access during cleanup in incremental xmlfile writer.</li>
+</ul>
+</div>
+<div class="section" id="id73">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The externally useless class <tt class="docutils literal">lxml.etree._BaseParser</tt> was removed
+from the module dict.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id74">
+<h1>3.1.0 (2013-02-10)</h1>
+<div class="section" id="id75">
+<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="id76">
+<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
+a copy of the attributes as a plain Python dict.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/95">GH#95</a>: When used with namespace prefixes, the  <tt class="docutils literal"><span class="pre">el.find*()</span></tt> methods
+always used the first namespace mapping that was provided for each
+path expression instead of using the one that was actually passed
+in for the current run.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1092521">LP#1092521</a>, <a class="reference external" href="https://github.com/lxml/lxml/issues/91">GH#91</a>: Fix undefined C symbol in Python runtimes compiled
+without threading support.  Patch by Ulrich Seidl.</li>
+</ul>
+</div>
+<div class="section" id="id77">
+<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="id78">
+<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
+makes the API always return Unicode strings for names and text
+instead of byte strings for plain ASCII content.</li>
+<li>New incremental XML file writing API <tt class="docutils literal">etree.xmlfile()</tt>.</li>
+<li>E factory in lxml.objectify is callable to simplify the creation of
+tags with non-identifier names without having to resort to getattr().</li>
+</ul>
+</div>
+<div class="section" id="id79">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>When starting from a non-namespaced element in lxml.objectify, searching
+for a child without explicitly specifying a namespace incorrectly found
+namespaced elements with the requested local name, instead of restricting
+the search to non-namespaced children.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/85">GH#85</a>: Deprecation warnings were fixed for Python 3.x.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/33">GH#33</a>: lxml.html.fromstring() failed to accept bytes input in Py3.</li>
+<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="id80">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The externally useless class <tt class="docutils literal">_ObjectifyElementMakerCaller</tt> was
+removed from the module API of lxml.objectify.</li>
+<li><a class="reference external" href="https://bugs.launchpad.net/lxml/+bug/1075622">LP#1075622</a>: lxml.builder is faster for adding text to elements with
+many children.  Patch by Anders Hammarquist.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id81">
+<h1>3.0.2 (2012-12-14)</h1>
+<div class="section" id="id82">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id83">
+<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="id84">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id85">
+<h1>3.0.1 (2012-10-14)</h1>
+<div class="section" id="id86">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id87">
+<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
+in PyPy without proper cleanup.</li>
+<li><a class="reference external" href="https://github.com/lxml/lxml/issues/71">GH#71</a>: Failure to work with libxml2 2.6.x.</li>
+<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="id88">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id89">
+<h1>3.0 (2012-10-08)</h1>
+<div class="section" id="id90">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id91">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>End-of-file handling was incorrect in iterparse() when reading from
+a low-level C file stream and failed in libxml2 2.9.0 due to its
+improved consistency checks.</li>
+</ul>
+</div>
+<div class="section" id="id92">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The build no longer uses Cython by default unless the generated C files
+are missing.  To use Cython, pass the option &quot;--with-cython&quot;.  To ignore
+the fatal build error when Cython is required but not available (e.g. to
+run special setup.py commands that do not actually run a build), pass
+&quot;--without-cython&quot;.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta1-2012-09-26">
+<h1>3.0beta1 (2012-09-26)</h1>
+<div class="section" id="id93">
+<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="id94">
+<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="id95">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The code was adapted to work with the upcoming libxml2 2.9.0 release.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="alpha2-2012-08-23">
+<h1>3.0alpha2 (2012-08-23)</h1>
+<div class="section" id="id96">
+<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
+<tt class="docutils literal"><span class="pre">&quot;{*}name&quot;</span></tt> to search for elements with a given local name in any
+namespace. With this addition, all combinations of wildcards now work
+as expected:
+<tt class="docutils literal">&quot;{ns}name&quot;</tt>, <tt class="docutils literal"><span class="pre">&quot;{}name&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;{*}name&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;{ns}*&quot;</span></tt>, <tt class="docutils literal"><span class="pre">&quot;{}*&quot;</span></tt>
+and <tt class="docutils literal"><span class="pre">&quot;{*}*&quot;</span></tt>.  Note that <tt class="docutils literal">&quot;name&quot;</tt> is equivalent to <tt class="docutils literal"><span class="pre">&quot;{}name&quot;</span></tt>,
+but <tt class="docutils literal">&quot;*&quot;</tt> is <tt class="docutils literal"><span class="pre">&quot;{*}*&quot;</span></tt>.
+The same change applies to the <tt class="docutils literal">.getiterator()</tt>, <tt class="docutils literal">.itersiblings()</tt>,
+<tt class="docutils literal">.iterancestors()</tt>, <tt class="docutils literal">.iterdescendants()</tt>, <tt class="docutils literal">.iterchildren()</tt>
+and <tt class="docutils literal">.itertext()</tt> methods;the <tt class="docutils literal">strip_attributes()</tt>,
+<tt class="docutils literal">strip_elements()</tt> and <tt class="docutils literal">strip_tags()</tt> functions as well as the
+<tt class="docutils literal">iterparse()</tt> class.  Patch by Simon Sapin.</li>
+<li>C14N allows specifying the inclusive prefixes to be promoted
+to top-level during exclusive serialisation.</li>
+</ul>
+</div>
+<div class="section" id="id97">
+<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="id98">
+<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="id99">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Initial support for building in PyPy (through cpyext).</li>
+<li>DTD objects gained an API that allows read access to their
+declarations.</li>
+<li><tt class="docutils literal">xpathgrep.py</tt> gained support for parsing line-by-line (e.g.
+from grep output) and for surrounding the output with a new root
+tag.</li>
+<li><tt class="docutils literal"><span class="pre">E-factory</span></tt> in <tt class="docutils literal">lxml.builder</tt> accepts subtypes of known data
+types (such as string subtypes) when building elements around them.</li>
+<li>Tree iteration and <tt class="docutils literal">iterparse()</tt> with a selective <tt class="docutils literal">tag</tt>
+argument supports passing a set of tags.  Tree nodes will be
+returned by the iterators if they match any of the tags.</li>
+</ul>
+</div>
+<div class="section" id="id100">
+<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
+internally, which makes them faster in many cases (especially when
+short circuiting after a single or couple of elements) and fixes
+some behavioural differences compared to <tt class="docutils literal">lxml.etree</tt>.  Note that
+this means that they no longer support arbitrary XPath expressions
+but only the subset that the <tt class="docutils literal">ElementPath</tt> language supports.
+The previous implementation was also redundant with the normal
+XPath support, which can be used as a replacement.</li>
+<li><tt class="docutils literal"><span class="pre">el.find('*')</span></tt> could accidentally return a comment or processing
+instruction that happened to be in the wrong spot.  (Same for the
+other <tt class="docutils literal"><span class="pre">.find*()</span></tt> methods.)</li>
+<li>The error logging is less intrusive and avoids a global setup where
+possible.</li>
+<li>Fixed undefined names in html5lib parser.</li>
+<li><tt class="docutils literal">xpathgrep.py</tt> did not work in Python 3.</li>
+<li><tt class="docutils literal">Element.attrib.update()</tt> did not accept an <tt class="docutils literal">attrib</tt> of
+another Element as parameter.</li>
+<li>For subtypes of <tt class="docutils literal">ElementBase</tt> that make the <tt class="docutils literal">.text</tt> or <tt class="docutils literal">.tail</tt>
+properties immutable (as in objectify, for example), inserting text
+when creating Elements through the E-Factory feature of the class
+constructor would fail with an exception, stating that the text
+cannot be modified.</li>
+</ul>
+</div>
+<div class="section" id="id101">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The code base was overhauled to properly use 'const' where the API
+of libxml2 and libxslt requests it.  This also has an impact on the
+public C-API of lxml itself, as defined in <tt class="docutils literal">etreepublic.pxd</tt>, as
+well as the provided declarations in the <tt class="docutils literal">lxml/includes/</tt> directory.
+Code that uses these declarations may have to be adapted.  On the
+plus side, this fixes several C compiler warnings, also for user
+code, thus making it easier to spot real problems again.</li>
+<li>The functionality of &quot;lxml.cssselect&quot; was moved into a separate PyPI
+package called &quot;cssselect&quot;.  To continue using it, you must install
+that package separately.  The &quot;lxml.cssselect&quot; module is still
+available and provides the same interface, provided the &quot;cssselect&quot;
+package can be imported at runtime.</li>
+<li>Element attributes passed in as an <tt class="docutils literal">attrib</tt> dict or as keyword
+arguments are now sorted by (namespaced) name before being created
+to make their order predictable for serialisation and iteration.
+Note that adding or deleting attributes afterwards does not take
+that order into account, i.e. setting a new attribute appends it
+after the existing ones.</li>
+<li>Several classes that are for internal use only were removed
+from the <tt class="docutils literal">lxml.etree</tt> module dict:
+<tt class="docutils literal">_InputDocument, _ResolverRegistry, _ResolverContext, _BaseContext,
+_ExsltRegExp, _IterparseContext, _TempStore, _ExceptionContext,
+__ContentOnlyElement, _AttribIterator, _NamespaceRegistry,
+_ClassNamespaceRegistry, _FunctionNamespaceRegistry,
+_XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
+_FileReaderContext, _ParserContext, _PythonSaxParserTarget,
+_TargetParserContext, _ReadOnlyProxy, _ReadOnlyPIProxy,
+_ReadOnlyEntityProxy, _ReadOnlyElementProxy, _OpaqueNodeWrapper,
+_OpaqueDocumentWrapper, _ModifyContentOnlyProxy,
+_ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
+_AppendOnlyElementProxy, _SaxParserContext, _FilelikeWriter,
+_ParserSchemaValidationContext, _XPathContext,
+_XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam</tt></li>
+<li>Several internal classes can no longer be inherited from:
+<tt class="docutils literal">_InputDocument, _ResolverRegistry, _ExsltRegExp, _ElementUnicodeResult,
+_IterparseContext, _TempStore, _AttribIterator, _ClassNamespaceRegistry,
+_XPathFunctionNamespaceRegistry, _ParserDictionaryContext,
+_FileReaderContext, _PythonSaxParserTarget, _TargetParserContext,
+_ReadOnlyPIProxy, _ReadOnlyEntityProxy, _OpaqueDocumentWrapper,
+_ModifyContentOnlyPIProxy, _ModifyContentOnlyEntityProxy,
+_AppendOnlyElementProxy, _FilelikeWriter, _ParserSchemaValidationContext,
+_XPathContext, _XSLTResolverContext, _XSLTContext, _XSLTQuotedStringParam,
+_XSLTResultTree, _XSLTProcessingInstruction</tt></li>
+</ul>
+</div>
+</div>
+<div class="section" id="id102">
+<h1>2.3.6 (2012-09-28)</h1>
+<div class="section" id="id103">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id104">
+<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="id105">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id106">
+<h1>2.3.5 (2012-07-31)</h1>
+<div class="section" id="id107">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id108">
+<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="id109">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id110">
+<h1>2.3.4 (2012-03-26)</h1>
+<div class="section" id="id111">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id112">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash when building an nsmap (Element property) with empty
+namespace URIs.</li>
+<li>Crash due to race condition when errors (or user messages) occur
+during threaded XSLT processing.</li>
+<li>XSLT stylesheet compilation could ignore compilation errors.</li>
+</ul>
+</div>
+<div class="section" id="id113">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id114">
+<h1>2.3.3 (2012-01-04)</h1>
+<div class="section" id="id115">
+<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="id116">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Fixed a crash when using <tt class="docutils literal">iterparse()</tt> for HTML parsing and
+requesting start events.</li>
+<li>Fixed parsing of more selectors in cssselect.  Whitespace before
+pseudo-elements and pseudo-classes is significant as it is a
+descendant combinator.
+&quot;E :pseudo&quot; should parse the same as &quot;E *:pseudo&quot;, not &quot;E:pseudo&quot;.
+Patch by Simon Sapin.</li>
+<li>lxml.html.diff no longer raises an exception when hitting
+'img' tags without 'src' attribute.</li>
+</ul>
+</div>
+<div class="section" id="id117">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id118">
+<h1>2.3.2 (2011-11-11)</h1>
+<div class="section" id="id119">
+<h2>Features added</h2>
+<ul class="simple">
+<li><tt class="docutils literal">lxml.objectify.deannotate()</tt> has a new boolean option
+<tt class="docutils literal">cleanup_namespaces</tt> to remove the objectify namespace
+declarations (and generally clean up the namespace declarations)
+after removing the type annotations.</li>
+<li><tt class="docutils literal">lxml.objectify</tt> gained its own <tt class="docutils literal">SubElement()</tt> function as a
+copy of <tt class="docutils literal">etree.SubElement</tt> to avoid an otherwise redundant import
+of <tt class="docutils literal">lxml.etree</tt> on the user side.</li>
+</ul>
+</div>
+<div class="section" id="id120">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Fixed the &quot;descendant&quot; bug in cssselect a second time (after a first
+fix in lxml 2.3.1).  The previous change resulted in a serious
+performance regression for the XPath based evaluation of the
+translated expression.  Note that this breaks the usage of some of
+the generated XPath expressions as XSLT location paths that
+previously worked in 2.3.1.</li>
+<li>Fixed parsing of some selectors in cssselect. Whitespace after combinators
+&quot;&gt;&quot;, &quot;+&quot; and &quot;~&quot; is now correctly ignored. Previously is was parsed as
+a descendant combinator. For example, &quot;div&gt; .foo&quot; was parsed the same as
+&quot;div&gt;* .foo&quot; instead of &quot;div&gt;.foo&quot;. Patch by Simon Sapin.</li>
+</ul>
+</div>
+<div class="section" id="id121">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id122">
+<h1>2.3.1 (2011-09-25)</h1>
+<div class="section" id="id123">
+<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
+tags and their content (i.e. their whole subtree).</li>
+<li><tt class="docutils literal">pi.get()</tt> and <tt class="docutils literal">pi.attrib</tt> on processing instructions to parse
+pseudo-attributes from the text content of processing instructions.</li>
+<li><tt class="docutils literal">lxml.get_include()</tt> returns a list of include paths that can be
+used to compile external C code against lxml.etree.  This is
+specifically required for statically linked lxml builds when code
+needs to compile against the exact same header file versions as lxml
+itself.</li>
+<li><tt class="docutils literal">Resolver.resolve_file()</tt> takes an additional option
+<tt class="docutils literal">close_file</tt> that configures if the file(-like) object will be
+closed after reading or not.  By default, the file will be closed,
+as the user is not expected to keep a reference to it.</li>
+</ul>
+</div>
+<div class="section" id="id124">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>HTML cleaning didn't remove 'data:' links.</li>
+<li>The html5lib parser integration now uses the 'official'
+implementation in html5lib itself, which makes it work with newer
+releases of the library.</li>
+<li>In <tt class="docutils literal">lxml.sax</tt>, <tt class="docutils literal">endElementNS()</tt> could incorrectly reject a plain
+tag name when the corresponding start event inferred the same plain
+tag name to be in the default namespace.</li>
+<li>When an open file-like object is passed into <tt class="docutils literal">parse()</tt> or
+<tt class="docutils literal">iterparse()</tt>, the parser will no longer close it after use.  This
+reverts a change in lxml 2.3 where all files would be closed.  It is
+the users responsibility to properly close the file(-like) object,
+also in error cases.</li>
+<li>Assertion error in lxml.html.cleaner when discarding top-level elements.</li>
+<li>In lxml.cssselect, use the xpath 'A//B' (short for
+'A/descendant-or-self::node()/B') instead of 'A/descendant::B' for
+the css descendant selector ('A B').  This makes a few edge cases
+like <tt class="docutils literal">&quot;div <span class="pre">*:last-child&quot;</span></tt> consistent with the selector behavior in
+WebKit and Firefox, and makes more css expressions valid location
+paths (for use in xsl:template match).</li>
+<li>In lxml.html, non-selected <tt class="docutils literal">&lt;option&gt;</tt> tags no longer show up in the
+collected form values.</li>
+<li>Adding/removing <tt class="docutils literal">&lt;option&gt;</tt> values to/from a multiple select form
+field properly selects them and unselects them.</li>
+</ul>
+</div>
+<div class="section" id="id125">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Static builds can specify the download directory with the
+<tt class="docutils literal"><span class="pre">--download-dir</span></tt> option.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id126">
+<h1>2.3 (2011-02-06)</h1>
+<div class="section" id="id127">
+<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="id128">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>When finished reading from a file-like object, the parser
+immediately calls its <tt class="docutils literal">.close()</tt> method.</li>
+<li>When finished parsing, <tt class="docutils literal">iterparse()</tt> immediately closes the input
+file.</li>
+<li>Work-around for libxml2 bug that can leave the HTML parser in a
+non-functional state after parsing a severly broken document (fixed
+in libxml2 2.7.8).</li>
+<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="id129">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Some public functions in the Cython-level C-API have more explicit
+return types.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta1-2010-09-06">
+<h1>2.3beta1 (2010-09-06)</h1>
+<div class="section" id="id130">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id131">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash in newer libxml2 versions when moving elements between
+documents that had attributes on replaced XInclude nodes.</li>
+<li><tt class="docutils literal">XMLID()</tt> function was missing the optional <tt class="docutils literal">parser</tt> and
+<tt class="docutils literal">base_url</tt> parameters.</li>
+<li>Searching for wildcard tags in <tt class="docutils literal">iterparse()</tt> was broken in Py3.</li>
+<li><tt class="docutils literal">lxml.html.open_in_browser()</tt> didn't work in Python 3 due to the
+use of os.tempnam.  It now takes an optional 'encoding' parameter.</li>
+</ul>
+</div>
+<div class="section" id="id132">
+<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="id133">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id134">
+<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="id135">
+<h2>Other changes</h2>
+<ul class="simple">
+<li><tt class="docutils literal">repr()</tt> of Element objects shows the hex ID with leading 0x
+(following ElementTree 1.3).</li>
+</ul>
+</div>
+</div>
+<div class="section" id="alpha1-2010-06-19">
+<h1>2.3alpha1 (2010-06-19)</h1>
+<div class="section" id="id136">
+<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>
+to pass a prefix-to-namespace mapping for the selector.</li>
+<li>New function <tt class="docutils literal">lxml.etree.register_namespace(prefix, uri)</tt> that
+globally registers a namespace prefix for a namespace that newly
+created Elements in that namespace will use automatically.  Follows
+ElementTree 1.3.</li>
+<li>Support 'unicode' string name as encoding parameter in
+<tt class="docutils literal">tostring()</tt>, following ElementTree 1.3.</li>
+<li>Support 'c14n' serialisation method in <tt class="docutils literal">ElementTree.write()</tt> and
+<tt class="docutils literal">tostring()</tt>, following ElementTree 1.3.</li>
+<li>The ElementPath expression syntax (<tt class="docutils literal"><span class="pre">el.find*()</span></tt>) was extended to
+match the upcoming ElementTree 1.3 that will ship in the standard
+library of Python 3.2/2.7.  This includes extended support for
+predicates as well as namespace prefixes (as known from XPath).</li>
+<li>During regular XPath evaluation, various ESXLT functions are
+available within their namespace when using libxslt 1.1.26 or later.</li>
+<li>Support passing a readily configured logger instance into
+<tt class="docutils literal">PyErrorLog</tt>, instead of a logger name.</li>
+<li>On serialisation, the new <tt class="docutils literal">doctype</tt> parameter can be used to
+override the DOCTYPE (internal subset) of the document.</li>
+<li>New parameter <tt class="docutils literal">output_parent</tt> to <tt class="docutils literal">XSLTExtension.apply_templates()</tt>
+to append the resulting content directly to an output element.</li>
+<li><tt class="docutils literal">XSLTExtension.process_children()</tt> to process the content of the
+XSLT extension element itself.</li>
+<li>ISO-Schematron support based on the de-facto Schematron reference
+'skeleton implementation'.</li>
+<li>XSLT objects now take XPath object as <tt class="docutils literal">__call__</tt> stylesheet
+parameters.</li>
+<li>Enable path caching in ElementPath (<tt class="docutils literal"><span class="pre">el.find*()</span></tt>) to avoid parsing
+overhead.</li>
+<li>Setting the value of a namespaced attribute always uses a prefixed
+namespace instead of the default namespace even if both declare the
+same namespace URI.  This avoids serialisation problems when an
+attribute from a default namespace is set on an element from a
+different namespace.</li>
+<li>XSLT extension elements: support for XSLT context nodes other than
+elements: document root, comments, processing instructions.</li>
+<li>Support for strings (in addition to Elements) in node-sets returned
+by extension functions.</li>
+<li>Forms that lack an <tt class="docutils literal">action</tt> attribute default to the base URL of
+the document on submit.</li>
+<li>XPath attribute result strings have an <tt class="docutils literal">attrname</tt> property.</li>
+<li>Namespace URIs get validated against RFC 3986 at the API level
+(required by the XML namespace specification).</li>
+<li>Target parsers show their target object in the <tt class="docutils literal">.target</tt> property
+(compatible with ElementTree).</li>
+</ul>
+</div>
+<div class="section" id="id137">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>API is hardened against invalid proxy instances to prevent crashes
+due to incorrectly instantiated Element instances.</li>
+<li>Prevent crash when instantiating <tt class="docutils literal">CommentBase</tt> and friends.</li>
+<li>Export ElementTree compatible XML parser class as
+<tt class="docutils literal">XMLTreeBuilder</tt>, as it is called in ET 1.2.</li>
+<li>ObjectifiedDataElements in lxml.objectify were not hashable.  They
+now use the hash value of the underlying Python value (string,
+number, etc.) to which they compare equal.</li>
+<li>Parsing broken fragments in lxml.html could fail if the fragment
+contained an orphaned closing '&lt;/div&gt;' tag.</li>
+<li>Using XSLT extension elements around the root of the output document
+crashed.</li>
+<li><tt class="docutils literal">lxml.cssselect</tt> did not distinguish between <tt class="docutils literal"><span class="pre">x[attr=&quot;val&quot;]</span></tt> and
+<tt class="docutils literal">x <span class="pre">[attr=&quot;val&quot;]</span></tt> (with a space).  The latter now matches the
+attribute independent of the element.</li>
+<li>Rewriting multiple links inside of HTML text content could end up
+replacing unrelated content as replacements could impact the
+reported position of subsequent matches.  Modifications are now
+simplified by letting the <tt class="docutils literal">iterlinks()</tt> generator in <tt class="docutils literal">lxml.html</tt>
+return links in reversed order if they appear inside the same text
+node.  Thus, replacements and link-internal modifications no longer
+change the position of links reported afterwards.</li>
+<li>The <tt class="docutils literal">.value</tt> attribute of <tt class="docutils literal">textarea</tt> elements in lxml.html did
+not represent the complete raw value (including child tags etc.). It
+now serialises the complete content on read and replaces the
+complete content by a string on write.</li>
+<li>Target parser didn't call <tt class="docutils literal">.close()</tt> on the target object if
+parsing failed.  Now it is guaranteed that <tt class="docutils literal">.close()</tt> will be
+called after parsing, regardless of the outcome.</li>
+</ul>
+</div>
+<div class="section" id="id138">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Official support for Python 3.1.2 and later.</li>
+<li>Static MS Windows builds can now download their dependencies
+themselves.</li>
+<li><tt class="docutils literal">Element.attrib</tt> no longer uses a cyclic reference back to its
+Element object.  It therefore no longer requires the garbage
+collector to clean up.</li>
+<li>Static builds include libiconv, in addition to libxml2 and libxslt.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id139">
+<h1>2.2.8 (2010-09-02)</h1>
+<div class="section" id="id140">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash in newer libxml2 versions when moving elements between
+documents that had attributes on replaced XInclude nodes.</li>
+<li>Import fix for urljoin in Python 3.1+.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id141">
+<h1>2.2.7 (2010-07-24)</h1>
+<div class="section" id="id142">
+<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>
+<div class="section" id="id143">
+<h1>2.2.6 (2010-03-02)</h1>
+<div class="section" id="id144">
+<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="id145">
+<h1>2.2.5 (2010-02-28)</h1>
+<div class="section" id="id146">
+<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 &quot;/&quot;).</li>
+</ul>
+</div>
+<div class="section" id="id147">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash in XPath evaluation when reading smart strings from a document
+other than the original context document.</li>
+<li>Support recent versions of html5lib by not requiring its
+<tt class="docutils literal">XHTMLParser</tt> in <tt class="docutils literal">htmlparser.py</tt> anymore.</li>
+<li>Manually instantiating the custom element classes in
+<tt class="docutils literal">lxml.objectify</tt> could crash.</li>
+<li>Invalid XML text characters were not rejected by the API when they
+appeared in unicode strings directly after non-ASCII characters.</li>
+<li>lxml.html.open_http_urllib() did not work in Python 3.</li>
+<li>The functions <tt class="docutils literal">strip_tags()</tt> and <tt class="docutils literal">strip_elements()</tt> in
+<tt class="docutils literal">lxml.etree</tt> did not remove all occurrences of a tag in all cases.</li>
+<li>Crash in XSLT extension elements when the XSLT context node is not
+an element.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id148">
+<h1>2.2.4 (2009-11-11)</h1>
+<div class="section" id="id149">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Static build of libxml2/libxslt was broken.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id150">
+<h1>2.2.3 (2009-10-30)</h1>
+<div class="section" id="id151">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id152">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>The <tt class="docutils literal">resolve_entities</tt> option did not work in the incremental feed
+parser.</li>
+<li>Looking up and deleting attributes without a namespace could hit a
+namespaced attribute of the same name instead.</li>
+<li>Late errors during calls to <tt class="docutils literal">SubElement()</tt> (e.g. attribute related
+ones) could leave a partially initialised element in the tree.</li>
+<li>Modifying trees that contain parsed entity references could result
+in an infinite loop.</li>
+<li>ObjectifiedElement.__setattr__ created an empty-string child element when the
+attribute value was rejected as a non-unicode/non-ascii string</li>
+<li>Syntax errors in <tt class="docutils literal">lxml.cssselect</tt> could result in misleading error
+messages.</li>
+<li>Invalid syntax in CSS expressions could lead to an infinite loop in
+the parser of <tt class="docutils literal">lxml.cssselect</tt>.</li>
+<li>CSS special character escapes were not properly handled in
+<tt class="docutils literal">lxml.cssselect</tt>.</li>
+<li>CSS Unicode escapes were not properly decoded in <tt class="docutils literal">lxml.cssselect</tt>.</li>
+<li>Select options in HTML forms that had no explicit <tt class="docutils literal">value</tt>
+attribute were not handled correctly.  The HTML standard dictates
+that their value is defined by their text content.  This is now
+supported by lxml.html.</li>
+<li>XPath raised a TypeError when finding CDATA sections.  This is now
+fully supported.</li>
+<li>Calling <tt class="docutils literal">help(lxml.objectify)</tt> didn't work at the prompt.</li>
+<li>The <tt class="docutils literal">ElementMaker</tt> in lxml.objectify no longer defines the default
+namespaces when annotation is disabled.</li>
+<li>Feed parser failed to honout the 'recover' option on parse errors.</li>
+<li>Diverting the error logging to Python's logging system was broken.</li>
+</ul>
+</div>
+<div class="section" id="id153">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id154">
+<h1>2.2.2 (2009-06-21)</h1>
+<div class="section" id="id155">
+<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>,
+<tt class="docutils literal">strip_tags()</tt> in lxml.etree to remove attributes/subtrees/tags
+from a subtree.</li>
+</ul>
+</div>
+<div class="section" id="id156">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Namespace cleanup on subtree insertions could result in missing
+namespace declarations (and potentially crashes) if the element
+defining a namespace was deleted and the namespace was not used by
+the top element of the inserted subtree but only in deeper subtrees.</li>
+<li>Raising an exception from a parser target callback didn't always
+terminate the parser.</li>
+<li>Only {true, false, 1, 0} are accepted as the lexical representation for
+BoolElement ({True, False, T, F, t, f} not any more), restoring lxml &lt;= 2.0
+behaviour.</li>
+</ul>
+</div>
+<div class="section" id="id157">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id158">
+<h1>2.2.1 (2009-06-02)</h1>
+<div class="section" id="id159">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Injecting default attributes into a document during XML Schema
+validation (also at parse time).</li>
+<li>Pass <tt class="docutils literal">huge_tree</tt> parser option to disable parser security
+restrictions imposed by libxml2 2.7.</li>
+</ul>
+</div>
+<div class="section" id="id160">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>The script for statically building libxml2 and libxslt didn't work
+in Py3.</li>
+<li><tt class="docutils literal">XMLSchema()</tt> also passes invalid schema documents on to libxml2
+for parsing (which could lead to a crash before release 2.6.24).</li>
+</ul>
+</div>
+<div class="section" id="id161">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id162">
+<h1>2.2 (2009-03-21)</h1>
+<div class="section" id="id163">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Support for <tt class="docutils literal">standalone</tt> flag in XML declaration through
+<tt class="docutils literal">tree.docinfo.standalone</tt> and by passing <tt class="docutils literal">standalone=True/False</tt>
+on serialisation.</li>
+</ul>
+</div>
+<div class="section" id="id164">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash when parsing an XML Schema with external imports from a
+filename.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta4-2009-02-27">
+<h1>2.2beta4 (2009-02-27)</h1>
+<div class="section" id="id165">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Support strings and instantiable Element classes as child arguments
+to the constructor of custom Element classes.</li>
+<li>GZip compression support for serialisation to files and file-like
+objects.</li>
+</ul>
+</div>
+<div class="section" id="id166">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Deep-copying an ElementTree copied neither its sibling PIs and
+comments nor its internal/external DTD subsets.</li>
+<li>Soupparser failed on broken attributes without values.</li>
+<li>Crash in XSLT when overwriting an already defined attribute using
+<tt class="docutils literal">xsl:attribute</tt>.</li>
+<li>Crash bug in exception handling code under Python 3.  This was due
+to a problem in Cython, not lxml itself.</li>
+<li><tt class="docutils literal">lxml.html.FormElement._name()</tt> failed for non top-level forms.</li>
+<li><tt class="docutils literal">TAG</tt> special attribute in constructor of custom Element classes
+was evaluated incorrectly.</li>
+</ul>
+</div>
+<div class="section" id="id167">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Official support for Python 3.0.1.</li>
+<li><tt class="docutils literal">Element.findtext()</tt> now returns an empty string instead of None
+for Elements without text content.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta3-2009-02-17">
+<h1>2.2beta3 (2009-02-17)</h1>
+<div class="section" id="id168">
+<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="id169">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Memory leak in XPath evaluators.</li>
+<li>Crash when parsing indented XML in one thread and merging it with
+other documents parsed in another thread.</li>
+<li>Setting the <tt class="docutils literal">base</tt> attribute in <tt class="docutils literal">lxml.objectify</tt> from a unicode
+string failed.</li>
+<li>Fixes following changes in Python 3.0.1.</li>
+<li>Minor fixes for Python 3.</li>
+</ul>
+</div>
+<div class="section" id="id170">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The global error log (which is copied into the exception log) is now
+local to a thread, which fixes some race conditions.</li>
+<li>More robust error handling on serialisation.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta2-2009-01-25">
+<h1>2.2beta2 (2009-01-25)</h1>
+<div class="section" id="id171">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Potential memory leak on exception handling.  This was due to a
+problem in Cython, not lxml itself.</li>
+<li><tt class="docutils literal">iter_links</tt> (and related link-rewriting functions) in
+<tt class="docutils literal">lxml.html</tt> would interpret CSS like <tt class="docutils literal"><span class="pre">url(&quot;link&quot;)</span></tt> incorrectly
+(treating the quotation marks as part of the link).</li>
+<li>Failing import on systems that have an <tt class="docutils literal">io</tt> module.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id172">
+<h1>2.1.5 (2009-01-06)</h1>
+<div class="section" id="id173">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Potential memory leak on exception handling.  This was due to a
+problem in Cython, not lxml itself.</li>
+<li>Failing import on systems that have an <tt class="docutils literal">io</tt> module.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta1-2008-12-12">
+<h1>2.2beta1 (2008-12-12)</h1>
+<div class="section" id="id174">
+<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="id175">
+<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="id176">
+<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="id177">
+<h1>2.1.4 (2008-12-12)</h1>
+<div class="section" id="id178">
+<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="id179">
+<h1>2.0.11 (2008-12-12)</h1>
+<div class="section" id="id180">
+<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="alpha1-2008-11-23">
+<h1>2.2alpha1 (2008-11-23)</h1>
+<div class="section" id="id181">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Support for XSLT result tree fragments in XPath/XSLT extension
+functions.</li>
+<li>QName objects have new properties <tt class="docutils literal">namespace</tt> and <tt class="docutils literal">localname</tt>.</li>
+<li>New options for exclusive C14N and C14N without comments.</li>
+<li>Instantiating a custom Element classes creates a new Element.</li>
+</ul>
+</div>
+<div class="section" id="id182">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>XSLT didn't inherit the parse options of the input document.</li>
+<li>0-bytes could slip through the API when used inside of Unicode
+strings.</li>
+<li>With <tt class="docutils literal">lxml.html.clean.autolink</tt>, links with balanced parenthesis,
+that end in a parenthesis, will be linked in their entirety (typical
+with Wikipedia links).</li>
+</ul>
+</div>
+<div class="section" id="id183">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id184">
+<h1>2.1.3 (2008-11-17)</h1>
+<div class="section" id="id185">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id186">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Ref-count leaks when lxml enters a try-except statement while an
+outside exception lives in sys.exc_*(). This was due to a problem in
+Cython, not lxml itself.</li>
+<li>Parser Unicode decoding errors could get swallowed by other
+exceptions.</li>
+<li>Name/import errors in some Python modules.</li>
+<li>Internal DTD subsets that did not specify a system or public ID were
+not serialised and did not appear in the docinfo property of
+ElementTrees.</li>
+<li>Fix a pre-Py3k warning when parsing from a gzip file in Py2.6.</li>
+<li>Test suite fixes for libxml2 2.7.</li>
+<li>Resolver.resolve_string() did not work for non-ASCII byte strings.</li>
+<li>Resolver.resolve_file() was broken.</li>
+<li>Overriding the parser encoding didn't work for many encodings.</li>
+</ul>
+</div>
+<div class="section" id="id187">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id188">
+<h1>2.0.10 (2008-11-17)</h1>
+<div class="section" id="id189">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Ref-count leaks when lxml enters a try-except statement while an
+outside exception lives in sys.exc_*(). This was due to a problem in
+Cython, not lxml itself.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id190">
+<h1>2.1.2 (2008-09-05)</h1>
+<div class="section" id="id191">
+<h2>Features added</h2>
+<ul class="simple">
+<li>lxml.etree now tries to find the absolute path name of files when
+parsing from a file-like object.  This helps custom resolvers when
+resolving relative URLs, as lixbml2 can prepend them with the path
+of the source document.</li>
+</ul>
+</div>
+<div class="section" id="id192">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Memory problem when passing documents between threads.</li>
+<li>Target parser did not honour the <tt class="docutils literal">recover</tt> option and raised an
+exception instead of calling <tt class="docutils literal">.close()</tt> on the target.</li>
+</ul>
+</div>
+<div class="section" id="id193">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id194">
+<h1>2.0.9 (2008-09-05)</h1>
+<div class="section" id="id195">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Memory problem when passing documents between threads.</li>
+<li>Target parser did not honour the <tt class="docutils literal">recover</tt> option and raised an
+exception instead of calling <tt class="docutils literal">.close()</tt> on the target.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id196">
+<h1>2.1.1 (2008-07-24)</h1>
+<div class="section" id="id197">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id198">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash when parsing XSLT stylesheets in a thread and using them in
+another.</li>
+<li>Encoding problem when including text with ElementInclude under
+Python 3.</li>
+</ul>
+</div>
+<div class="section" id="id199">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id200">
+<h1>2.0.8 (2008-07-24)</h1>
+<div class="section" id="id201">
+<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="id202">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash when parsing XSLT stylesheets in a thread and using them in
+another.</li>
+<li>CSS selector parser dropped remaining expression after a function
+with parameters.</li>
+</ul>
+</div>
+<div class="section" id="id203">
+<h2>Other changes</h2>
+</div>
+</div>
+<div class="section" id="id204">
+<h1>2.1 (2008-07-09)</h1>
+<div class="section" id="id205">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Smart strings can be switched off in XPath (<tt class="docutils literal">smart_strings</tt>
+keyword option).</li>
+<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="id206">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Custom resolvers were not used for XMLSchema includes/imports and
+XInclude processing.</li>
+<li>CSS selector parser dropped remaining expression after a function
+with parameters.</li>
+</ul>
+</div>
+<div class="section" id="id207">
+<h2>Other changes</h2>
+<ul class="simple">
+<li><tt class="docutils literal">objectify.enableRecursiveStr()</tt> was removed, use
+<tt class="docutils literal">objectify.enable_recursive_str()</tt> instead</li>
+<li>Speed-up when running XSLTs on documents from other threads</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id208">
+<h1>2.0.7 (2008-06-20)</h1>
+<div class="section" id="id209">
+<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="id210">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Descending dot-separated classes in CSS selectors were not resolved
+correctly.</li>
+<li><tt class="docutils literal">ElementTree.parse()</tt> didn't handle target parser result.</li>
+<li>Potential threading problem in XInclude.</li>
+<li>Crash in Element class lookup classes when the __init__() method of
+the super class is not called from Python subclasses.</li>
+</ul>
+</div>
+<div class="section" id="id211">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Non-ASCII characters in attribute values are no longer escaped on
+serialisation.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta3-2008-06-19">
+<h1>2.1beta3 (2008-06-19)</h1>
+<div class="section" id="id212">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Major overhaul of <tt class="docutils literal">tools/xpathgrep.py</tt> script.</li>
+<li>Pickling <tt class="docutils literal">ElementTree</tt> objects in lxml.objectify.</li>
+<li>Support for parsing from file-like objects that return unicode
+strings.</li>
+<li>New function <tt class="docutils literal">etree.cleanup_namespaces(el)</tt> that removes unused
+namespace declarations from a (sub)tree (experimental).</li>
+<li>XSLT results support the buffer protocol in Python 3.</li>
+<li>Polymorphic functions in <tt class="docutils literal">lxml.html</tt> that accept either a tree or
+a parsable string will return either a UTF-8 encoded byte string, a
+unicode string or a tree, based on the type of the input.
+Previously, the result was always a byte string or a tree.</li>
+<li>Support for Python 2.6 and 3.0 beta.</li>
+<li>File name handling now uses a heuristic to convert between byte
+strings (usually filenames) and unicode strings (usually URLs).</li>
+<li>Parsing from a plain file object frees the GIL under Python 2.x.</li>
+<li>Running <tt class="docutils literal">iterparse()</tt> on a plain file (or filename) frees the GIL
+on reading under Python 2.x.</li>
+<li>Conversion functions <tt class="docutils literal">html_to_xhtml()</tt> and <tt class="docutils literal">xhtml_to_html()</tt> in
+lxml.html (experimental).</li>
+<li>Most features in lxml.html work for XHTML namespaced tag names
+(experimental).</li>
+</ul>
+</div>
+<div class="section" id="id213">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li><tt class="docutils literal">ElementTree.parse()</tt> didn't handle target parser result.</li>
+<li>Crash in Element class lookup classes when the __init__() method of
+the super class is not called from Python subclasses.</li>
+<li>A number of problems related to unicode/byte string conversion of
+filenames and error messages were fixed.</li>
+<li>Building on MacOS-X now passes the &quot;flat_namespace&quot; option to the C
+compiler, which reportedly prevents build quirks and crashes on this
+platform.</li>
+<li>Windows build was broken.</li>
+<li>Rare crash when serialising to a file object with certain encodings.</li>
+</ul>
+</div>
+<div class="section" id="id214">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Non-ASCII characters in attribute values are no longer escaped on
+serialisation.</li>
+<li>Passing non-ASCII byte strings or invalid unicode strings as .tag,
+namespaces, etc. will result in a ValueError instead of an
+AssertionError (just like the tag well-formedness check).</li>
+<li>Up to several times faster attribute access (i.e. tree traversal) in
+lxml.objectify.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id215">
+<h1>2.0.6 (2008-05-31)</h1>
+<div class="section" id="id216">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id217">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Incorrect evaluation of <tt class="docutils literal"><span class="pre">el.find(&quot;tag[child]&quot;)</span></tt>.</li>
+<li>Windows build was broken.</li>
+<li>Moving a subtree from a document created in one thread into a
+document of another thread could crash when the rest of the source
+document is deleted while the subtree is still in use.</li>
+<li>Rare crash when serialising to a file object with certain encodings.</li>
+</ul>
+</div>
+<div class="section" id="id218">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>lxml should now build without problems on MacOS-X.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="beta2-2008-05-02">
+<h1>2.1beta2 (2008-05-02)</h1>
+<div class="section" id="id219">
+<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>
+<li>lxml.html has a new parser class <tt class="docutils literal">XHTMLParser</tt> and a module
+attribute <tt class="docutils literal">xhtml_parser</tt> that provide XML parsers that are
+pre-configured for the lxml.html package.</li>
+</ul>
+</div>
+<div class="section" id="id220">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Moving a subtree from a document created in one thread into a
+document of another thread could crash when the rest of the source
+document is deleted while the subtree is still in use.</li>
+<li>Passing an nsmap when creating an Element will no longer strip
+redundantly defined namespace URIs.  This prevented the definition
+of more than one prefix for a namespace on the same Element.</li>
+</ul>
+</div>
+<div class="section" id="id221">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>If the default namespace is redundantly defined with a prefix on the
+same Element, the prefix will now be preferred for subelements and
+attributes.  This allows users to work around a problem in libxml2
+where attributes from the default namespace could serialise without
+a prefix even when they appear on an Element with a different
+namespace (i.e. they would end up in the wrong namespace).</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id222">
+<h1>2.0.5 (2008-05-01)</h1>
+<div class="section" id="id223">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id224">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Resolving to a filename in custom resolvers didn't work.</li>
+<li>lxml did not honour libxslt's second error state &quot;STOPPED&quot;, which
+let some XSLT errors pass silently.</li>
+<li>Memory leak in Schematron with libxml2 &gt;= 2.6.31.</li>
+</ul>
+</div>
+<div class="section" id="id225">
+<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="id226">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Error logging in Schematron (requires libxml2 2.6.32 or later).</li>
+<li>Parser option <tt class="docutils literal">strip_cdata</tt> for normalising or keeping CDATA
+sections.  Defaults to <tt class="docutils literal">True</tt> as before, thus replacing CDATA
+sections by their text content.</li>
+<li><tt class="docutils literal">CDATA()</tt> factory to wrap string content as CDATA section.</li>
+</ul>
+</div>
+<div class="section" id="id227">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Resolving to a filename in custom resolvers didn't work.</li>
+<li>lxml did not honour libxslt's second error state &quot;STOPPED&quot;, which
+let some XSLT errors pass silently.</li>
+<li>Memory leak in Schematron with libxml2 &gt;= 2.6.31.</li>
+<li>lxml.etree accepted non well-formed namespace prefix names.</li>
+</ul>
+</div>
+<div class="section" id="id228">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Major cleanup in internal <tt class="docutils literal">moveNodeToDocument()</tt> function, which
+takes care of namespace cleanup when moving elements between
+different namespace contexts.</li>
+<li>New Elements created through the <tt class="docutils literal">makeelement()</tt> method of an HTML
+parser or through lxml.html now end up in a new HTML document
+(doctype HTML 4.01 Transitional) instead of a generic XML document.
+This mostly impacts the serialisation and the availability of a DTD
+context.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id229">
+<h1>2.0.4 (2008-04-13)</h1>
+<div class="section" id="id230">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id231">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Hanging thread in conjunction with GTK threading.</li>
+<li>Crash bug in iterparse when moving elements into other documents.</li>
+<li>HTML elements' <tt class="docutils literal">.cssselect()</tt> method was broken.</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="id232">
+<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="id233">
+<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">XSLTAccessControl</tt> instances have a property <tt class="docutils literal">options</tt> that
+returns a dict of access configuration options.</li>
+<li>Constant instances <tt class="docutils literal">DENY_ALL</tt> and <tt class="docutils literal">DENY_WRITE</tt> on
+<tt class="docutils literal">XSLTAccessControl</tt> class.</li>
+<li>Extension elements for XSLT (experimental!)</li>
+<li><tt class="docutils literal">Element.base</tt> property returns the xml:base or HTML base URL of
+an Element.</li>
+<li><tt class="docutils literal">docinfo.URL</tt> property is writable.</li>
+</ul>
+</div>
+<div class="section" id="id234">
+<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="id235">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Minor API speed-ups.</li>
+<li>The benchmark suite now uses tail text in the trees, which makes the
+absolute numbers incomparable to previous results.</li>
+<li>Generating the HTML documentation now requires <a class="reference external" href="http://pygments.org/">Pygments</a>, which is
+used to enable syntax highlighting for the doctest examples.</li>
+</ul>
+<p>Most long-time deprecated functions and methods were removed:</p>
+<ul>
+<li><p class="first"><tt class="docutils literal">etree.clearErrorLog()</tt>, use <tt class="docutils literal">etree.clear_error_log()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">etree.useGlobalPythonLog()</tt>, use
+<tt class="docutils literal">etree.use_global_python_log()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">etree.ElementClassLookup.setFallback()</tt>, use
+<tt class="docutils literal">etree.ElementClassLookup.set_fallback()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">etree.getDefaultParser()</tt>, use <tt class="docutils literal">etree.get_default_parser()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">etree.setDefaultParser()</tt>, use <tt class="docutils literal">etree.set_default_parser()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">etree.setElementClassLookup()</tt>, use
+<tt class="docutils literal">etree.set_element_class_lookup()</tt></p>
+<p>Note that <tt class="docutils literal">parser.setElementClassLookup()</tt> has not been removed
+yet, although <tt class="docutils literal">parser.set_element_class_lookup()</tt> should be used
+instead.</p>
+</li>
+<li><p class="first"><tt class="docutils literal">xpath_evaluator.registerNamespace()</tt>, use
+<tt class="docutils literal">xpath_evaluator.register_namespace()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">xpath_evaluator.registerNamespaces()</tt>, use
+<tt class="docutils literal">xpath_evaluator.register_namespaces()</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">objectify.setPytypeAttributeTag</tt>, use
+<tt class="docutils literal">objectify.set_pytype_attribute_tag</tt></p>
+</li>
+<li><p class="first"><tt class="docutils literal">objectify.setDefaultParser()</tt>, use
+<tt class="docutils literal">objectify.set_default_parser()</tt></p>
+</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id236">
+<h1>2.0.3 (2008-03-26)</h1>
+<div class="section" id="id237">
+<h2>Features added</h2>
+<ul class="simple">
+<li>soupparser.parse() allows passing keyword arguments on to
+BeautifulSoup.</li>
+<li><tt class="docutils literal">fromstring()</tt> method in <tt class="docutils literal">lxml.html.soupparser</tt>.</li>
+</ul>
+</div>
+<div class="section" id="id238">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li><tt class="docutils literal">lxml.html.diff</tt> didn't treat empty tags properly (e.g.,
+<tt class="docutils literal">&lt;br&gt;</tt>).</li>
+<li>Handle entity replacements correctly in target parser.</li>
+<li>Crash when using <tt class="docutils literal">iterparse()</tt> with XML Schema validation.</li>
+<li>The BeautifulSoup parser (soupparser.py) did not replace entities,
+which made them turn up in text content.</li>
+<li>Attribute assignment of custom PyTypes in objectify could fail to
+correctly serialise the value to a string.</li>
+</ul>
+</div>
+<div class="section" id="id239">
+<h2>Other changes</h2>
+<ul class="simple">
+<li><tt class="docutils literal">lxml.html.ElementSoup</tt> was replaced by a new module
+<tt class="docutils literal">lxml.html.soupparser</tt> with a more consistent API.  The old module
+remains for compatibility with ElementTree's own ElementSoup module.</li>
+<li>Setting the XSLT_CONFIG and XML2_CONFIG environment variables at
+build time will let setup.py pick up the <tt class="docutils literal"><span class="pre">xml2-config</span></tt> and
+<tt class="docutils literal"><span class="pre">xslt-config</span></tt> scripts from the supplied path name.</li>
+<li>Passing <tt class="docutils literal"><span class="pre">--with-xml2-config=/path/to/xml2-config</span></tt> to setup.py will
+override the <tt class="docutils literal"><span class="pre">xml2-config</span></tt> script that is used to determine the C
+compiler options.  The same applies for the <tt class="docutils literal"><span class="pre">--with-xslt-config</span></tt>
+option.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id240">
+<h1>2.0.2 (2008-02-22)</h1>
+<div class="section" id="id241">
+<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="id242">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>The prefix for objectify's pytype namespace was missing from the set
+of default prefixes.</li>
+<li>Memory leak in Schematron (fixed only for libxml2 2.6.31+).</li>
+<li>Error type names in RelaxNG were reported incorrectly.</li>
+<li>Slice deletion bug fixed in objectify.</li>
+</ul>
+</div>
+<div class="section" id="id243">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Enabled doctests for some Python modules (especially <tt class="docutils literal">lxml.html</tt>).</li>
+<li>Add a <tt class="docutils literal">method</tt> argument to <tt class="docutils literal">lxml.html.tostring()</tt>
+(<tt class="docutils literal"><span class="pre">method=&quot;xml&quot;</span></tt> for XHTML output).</li>
+<li>Make it clearer that methods like <tt class="docutils literal">lxml.html.fromstring()</tt> take a
+<tt class="docutils literal">base_url</tt> argument.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id244">
+<h1>2.0.1 (2008-02-13)</h1>
+<div class="section" id="id245">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Child iteration in <tt class="docutils literal">lxml.pyclasslookup</tt>.</li>
+<li>Loads of new docstrings reflect the signature of functions and
+methods to make them visible in API docs and <tt class="docutils literal">help()</tt></li>
+</ul>
+</div>
+<div class="section" id="id246">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>The module <tt class="docutils literal">lxml.html.builder</tt> was duplicated as
+<tt class="docutils literal">lxml.htmlbuilder</tt></li>
+<li>Form elements would return None for <tt class="docutils literal">form.fields.keys()</tt> if there
+was an unnamed input field.  Now unnamed input fields are completely
+ignored.</li>
+<li>Setting an element slice in objectify could insert slice-overlapping
+elements at the wrong position.</li>
+</ul>
+</div>
+<div class="section" id="id247">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>The generated API documentation was cleaned up and disburdened from
+non-public classes etc.</li>
+<li>The previously public module <tt class="docutils literal">lxml.html.setmixin</tt> was renamed to
+<tt class="docutils literal">lxml.html._setmixin</tt> as it is not an official part of lxml.  If
+you want to use it, feel free to copy it over to your own source
+base.</li>
+<li>Passing <tt class="docutils literal"><span class="pre">--with-xslt-config=/path/to/xslt-config</span></tt> to setup.py will
+override the <tt class="docutils literal"><span class="pre">xslt-config</span></tt> script that is used to determine the C
+compiler options.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id248">
+<h1>2.0 (2008-02-01)</h1>
+<div class="section" id="id249">
+<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
+serialise to unicode.  The <tt class="docutils literal">tounicode()</tt> function is now
+deprecated.</li>
+<li><tt class="docutils literal">XMLSchema()</tt> and <tt class="docutils literal">RelaxNG()</tt> can parse from StringIO.</li>
+<li><tt class="docutils literal">makeparser()</tt> function in <tt class="docutils literal">lxml.objectify</tt> to create a new
+parser with the usual objectify setup.</li>
+<li>Plain ASCII XPath string results are no longer forced into unicode
+objects as in 2.0beta1, but are returned as plain strings as before.</li>
+<li>All XPath string results are 'smart' objects that have a
+<tt class="docutils literal">getparent()</tt> method to retrieve their parent Element.</li>
+<li><tt class="docutils literal">with_tail</tt> option in serialiser functions.</li>
+<li>More accurate exception messages in validator creation.</li>
+<li>Parse-time XML schema validation (<tt class="docutils literal">schema</tt> parser keyword).</li>
+<li>XPath string results of the <tt class="docutils literal">text()</tt> function and attribute
+selection make their Element container accessible through a
+<tt class="docutils literal">getparent()</tt> method.  As a side-effect, they are now always
+unicode objects (even ASCII strings).</li>
+<li><tt class="docutils literal">XSLT</tt> objects are usable in any thread - at the cost of a deep
+copy if they were not created in that thread.</li>
+<li>Invalid entity names and character references will be rejected by
+the <tt class="docutils literal">Entity()</tt> factory.</li>
+<li><tt class="docutils literal">entity.text</tt> returns the textual representation of the entity,
+e.g. <tt class="docutils literal">&amp;amp;</tt>.</li>
+<li>New properties <tt class="docutils literal">position</tt> and <tt class="docutils literal">code</tt> on ParseError exception (as
+in ET 1.3)</li>
+<li>Rich comparison of <tt class="docutils literal">element.attrib</tt> proxies.</li>
+<li>ElementTree compatible TreeBuilder class.</li>
+<li>Use default prefixes for some common XML namespaces.</li>
+<li><tt class="docutils literal">lxml.html.clean.Cleaner</tt> now allows for a <tt class="docutils literal">host_whitelist</tt>, and
+two overridable methods: <tt class="docutils literal">allow_embedded_url(el, url)</tt> and the
+more general <tt class="docutils literal">allow_element(el)</tt>.</li>
+<li>Extended slicing of Elements as in <tt class="docutils literal"><span class="pre">element[1:-1:2]</span></tt>, both in
+etree and in objectify</li>
+<li>Resolvers can now provide a <tt class="docutils literal">base_url</tt> keyword argument when
+resolving a document as string data.</li>
+<li>When using <tt class="docutils literal">lxml.doctestcompare</tt> you can give the doctest option
+<tt class="docutils literal">NOPARSE_MARKUP</tt> (like <tt class="docutils literal"># doctest: +NOPARSE_MARKUP</tt>) to suppress
+the special checking for one test.</li>
+<li>Separate <tt class="docutils literal">feed_error_log</tt> property for the feed parser interface.
+The normal parser interface and <tt class="docutils literal">iterparse</tt> continue to use
+<tt class="docutils literal">error_log</tt>.</li>
+<li>The normal parsers and the feed parser interface are now separated
+and can be used concurrently on the same parser instance.</li>
+<li><tt class="docutils literal">fromstringlist()</tt> and <tt class="docutils literal">tostringlist()</tt> functions as in
+ElementTree 1.3</li>
+<li><tt class="docutils literal">iterparse()</tt> accepts an <tt class="docutils literal">html</tt> boolean keyword argument for
+parsing with the HTML parser (note that this interface may be
+subject to change)</li>
+<li>Parsers accept an <tt class="docutils literal">encoding</tt> keyword argument that overrides the encoding
+of the parsed documents.</li>
+<li>New C-API function <tt class="docutils literal">hasChild()</tt> to test for children</li>
+<li><tt class="docutils literal">annotate()</tt> function in objectify can annotate with Python types and XSI
+types in one step.  Accompanied by <tt class="docutils literal">xsiannotate()</tt> and <tt class="docutils literal">pyannotate()</tt>.</li>
+<li><tt class="docutils literal">ET.write()</tt>, <tt class="docutils literal">tostring()</tt> and <tt class="docutils literal">tounicode()</tt> now accept a keyword
+argument <tt class="docutils literal">method</tt> that can be one of 'xml' (or None), 'html' or 'text' to
+serialise as XML, HTML or plain text content.</li>
+<li><tt class="docutils literal">iterfind()</tt> method on Elements returns an iterator equivalent to
+<tt class="docutils literal">findall()</tt></li>
+<li><tt class="docutils literal">itertext()</tt> method on Elements</li>
+<li>Setting a QName object as value of the .text property or as an attribute
+will resolve its prefix in the respective context</li>
+<li>ElementTree-like parser target interface as described in
+<a class="reference external" href="http://effbot.org/elementtree/elementtree-xmlparser.htm">http://effbot.org/elementtree/elementtree-xmlparser.htm</a></li>
+<li>ElementTree-like feed parser interface on XMLParser and HTMLParser
+(<tt class="docutils literal">feed()</tt> and <tt class="docutils literal">close()</tt> methods)</li>
+<li>Reimplemented <tt class="docutils literal">objectify.E</tt> for better performance and improved
+integration with objectify.  Provides extended type support based on
+registered PyTypes.</li>
+<li>XSLT objects now support deep copying</li>
+<li>New <tt class="docutils literal">makeSubElement()</tt> C-API function that allows creating a new
+subelement straight with text, tail and attributes.</li>
+<li>XPath extension functions can now access the current context node
+(<tt class="docutils literal">context.context_node</tt>) and use a context dictionary
+(<tt class="docutils literal">context.eval_context</tt>) from the context provided in their first
+parameter</li>
+<li>HTML tag soup parser based on BeautifulSoup in <tt class="docutils literal">lxml.html.ElementSoup</tt></li>
+<li>New module <tt class="docutils literal">lxml.doctestcompare</tt> by Ian Bicking for writing simplified
+doctests based on XML/HTML output.  Use by importing <tt class="docutils literal">lxml.usedoctest</tt> or
+<tt class="docutils literal">lxml.html.usedoctest</tt> from within a doctest.</li>
+<li>New module <tt class="docutils literal">lxml.cssselect</tt> by Ian Bicking for selecting Elements with CSS
+selectors.</li>
+<li>New package <tt class="docutils literal">lxml.html</tt> written by Ian Bicking for advanced HTML
+treatment.</li>
+<li>Namespace class setup is now local to the <tt class="docutils literal">ElementNamespaceClassLookup</tt>
+instance and no longer global.</li>
+<li>Schematron validation (incomplete in libxml2)</li>
+<li>Additional <tt class="docutils literal">stringify</tt> argument to <tt class="docutils literal">objectify.PyType()</tt> takes a
+conversion function to strings to support setting text values from arbitrary
+types.</li>
+<li>Entity support through an <tt class="docutils literal">Entity</tt> factory and element classes.  XML
+parsers now have a <tt class="docutils literal">resolve_entities</tt> keyword argument that can be set to
+False to keep entities in the document.</li>
+<li><tt class="docutils literal">column</tt> field on error log entries to accompany the <tt class="docutils literal">line</tt> field</li>
+<li>Error specific messages in XPath parsing and evaluation
+NOTE: for evaluation errors, you will now get an XPathEvalError instead of
+an XPathSyntaxError.  To catch both, you can except on <tt class="docutils literal">XPathError</tt></li>
+<li>The regular expression functions in XPath now support passing a node-set
+instead of a string</li>
+<li>Extended type annotation in objectify: new <tt class="docutils literal">xsiannotate()</tt> function</li>
+<li>EXSLT RegExp support in standard XPath (not only XSLT)</li>
+</ul>
+</div>
+<div class="section" id="id250">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Missing import in <tt class="docutils literal">lxml.html.clean</tt>.</li>
+<li>Some Python 2.4-isms prevented lxml from building/running under
+Python 2.3.</li>
+<li>XPath on ElementTrees could crash when selecting the virtual root
+node of the ElementTree.</li>
+<li>Compilation <tt class="docutils literal"><span class="pre">--without-threading</span></tt> was buggy in alpha5/6.</li>
+<li>Memory leak in the <tt class="docutils literal">parse()</tt> function.</li>
+<li>Minor bugs in XSLT error message formatting.</li>
+<li>Result document memory leak in target parser.</li>
+<li>Target parser failed to report comments.</li>
+<li>In the <tt class="docutils literal">lxml.html</tt> <tt class="docutils literal">iter_links</tt> method, links in <tt class="docutils literal">&lt;object&gt;</tt>
+tags weren't recognized.  (Note: plugin-specific link parameters
+still aren't recognized.)  Also, the <tt class="docutils literal">&lt;embed&gt;</tt> tag, though not
+standard, is now included in <tt class="docutils literal">lxml.html.defs.special_inline_tags</tt>.</li>
+<li>Using custom resolvers on XSLT stylesheets parsed from a string
+could request ill-formed URLs.</li>
+<li>With <tt class="docutils literal">lxml.doctestcompare</tt> if you do <tt class="docutils literal">&lt;tag <span class="pre">xmlns=&quot;...&quot;&gt;</span></tt> in your
+output, it will then be namespace-neutral (before the ellipsis was
+treated as a real namespace).</li>
+<li>AttributeError in feed parser on parse errors</li>
+<li>XML feed parser setup problem</li>
+<li>Type annotation for unicode strings in <tt class="docutils literal">DataElement()</tt></li>
+<li>lxml failed to serialise namespace declarations of elements other than the
+root node of a tree</li>
+<li>Race condition in XSLT where the resolver context leaked between concurrent
+XSLT calls</li>
+<li>lxml.etree did not check tag/attribute names</li>
+<li>The XML parser did not report undefined entities as error</li>
+<li>The text in exceptions raised by XML parsers, validators and XPath
+evaluators now reports the first error that occurred instead of the last</li>
+<li>Passing '' as XPath namespace prefix did not raise an error</li>
+<li>Thread safety in XPath evaluators</li>
+</ul>
+</div>
+<div class="section" id="id251">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>Exceptions carry only the part of the error log that is related to
+the operation that caused the error.</li>
+<li><tt class="docutils literal">XMLSchema()</tt> and <tt class="docutils literal">RelaxNG()</tt> now enforce passing the source
+file/filename through the <tt class="docutils literal">file</tt> keyword argument.</li>
+<li>The test suite now skips most doctests under Python 2.3.</li>
+<li><tt class="docutils literal">make clean</tt> no longer removes the .c files (use <tt class="docutils literal">make
+realclean</tt> instead)</li>
+<li>Minor performance tweaks for Element instantiation and subelement
+creation</li>
+<li>Various places in the XPath, XSLT and iteration APIs now require
+keyword-only arguments.</li>
+<li>The argument order in <tt class="docutils literal">element.itersiblings()</tt> was changed to
+match the order used in all other iteration methods.  The second
+argument ('preceding') is now a keyword-only argument.</li>
+<li>The <tt class="docutils literal">getiterator()</tt> method on Elements and ElementTrees was
+reverted to return an iterator as it did in lxml 1.x.  The ET API
+specification allows it to return either a sequence or an iterator,
+and it traditionally returned a sequence in ET and an iterator in
+lxml.  However, it is now deprecated in favour of the <tt class="docutils literal">iter()</tt>
+method, which should be used in new code wherever possible.</li>
+<li>The 'pretty printed' serialisation of ElementTree objects now
+inserts newlines at the root level between processing instructions,
+comments and the root tag.</li>
+<li>A 'pretty printed' serialisation is now terminated with a newline.</li>
+<li>Second argument to <tt class="docutils literal">lxml.etree.Extension()</tt> helper is no longer
+required, third argument is now a keyword-only argument <tt class="docutils literal">ns</tt>.</li>
+<li><tt class="docutils literal">lxml.html.tostring</tt> takes an <tt class="docutils literal">encoding</tt> argument.</li>
+<li>The module source files were renamed to &quot;lxml.*.pyx&quot;, such as
+&quot;lxml.etree.pyx&quot;.  This was changed for consistency with the way
+Pyrex commonly handles package imports.  The main effect is that
+classes now know about their fully qualified class name, including
+the package name of their module.</li>
+<li>Keyword-only arguments in some API functions, especially in the
+parsers and serialisers.</li>
+<li>Tag name validation in lxml.etree (and lxml.html) now distinguishes
+between HTML tags and XML tags based on the parser that was used to
+parse or create them.  HTML tags no longer reject any non-ASCII
+characters in tag names but only spaces and the special characters
+<tt class="docutils literal"><span class="pre">&lt;&gt;&amp;/&quot;'</span></tt>.</li>
+<li>lxml.etree now emits a warning if you use XPath with libxml2 2.6.27
+(which can crash on certain XPath errors)</li>
+<li>Type annotation in objectify now preserves the already annotated type by
+default to prevent loosing type information that is already there.</li>
+<li><tt class="docutils literal">element.getiterator()</tt> returns a list, use <tt class="docutils literal">element.iter()</tt> to retrieve
+an iterator (ElementTree 1.3 compatible behaviour)</li>
+<li>objectify.PyType for None is now called &quot;NoneType&quot;</li>
+<li><tt class="docutils literal">el.getiterator()</tt> renamed to <tt class="docutils literal">el.iter()</tt>, following ElementTree 1.3 -
+original name is still available as alias</li>
+<li>In the public C-API, <tt class="docutils literal">findOrBuildNodeNs()</tt> was replaced by the more
+generic <tt class="docutils literal">findOrBuildNodeNsPrefix</tt></li>
+<li>Major refactoring in XPath/XSLT extension function code</li>
+<li>Network access in parsers disabled by default</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id252">
+<h1>1.3.6 (2007-10-29)</h1>
+<div class="section" id="id253">
+<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="id254">
+<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>
+methods.  While this makes them take a lot longer to run, it also
+makes it easier to link a specific test to garbage collection
+problems that would otherwise appear in later tests.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id255">
+<h1>1.3.5 (2007-10-22)</h1>
+<div class="section" id="id256">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id257">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>lxml.etree could crash when adding more than 10000 namespaces to a
+document</li>
+<li>lxml failed to serialise namespace declarations of elements other
+than the root node of a tree</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id258">
+<h1>1.3.4 (2007-08-30)</h1>
+<div class="section" id="id259">
+<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
+<tt class="docutils literal">namespace</tt> and <tt class="docutils literal">nsmap</tt> to set a namespace and nsmap for the Elements it
+creates.</li>
+<li>The <tt class="docutils literal">docinfo</tt> on ElementTree objects has new properties <tt class="docutils literal">internalDTD</tt>
+and <tt class="docutils literal">externalDTD</tt> that return a DTD object for the internal or external
+subset of the document respectively.</li>
+<li>Serialising an ElementTree now includes any internal DTD subsets that are
+part of the document, as well as comments and PIs that are siblings of the
+root node.</li>
+</ul>
+</div>
+<div class="section" id="id260">
+<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="id261">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>lxml now raises a TagNameWarning about tag names containing ':' instead of
+an Error as 1.3.3 did.  The reason is that a number of projects currently
+misuse the previous lack of tag name validation to generate namespace
+prefixes without declaring namespaces.  Apart from the danger of generating
+broken XML this way, it also breaks most of the namespace-aware tools in
+XML, including XPath, XSLT and validation.  lxml 1.3.x will continue to
+support this bug with a Warning, while lxml 2.0 will be strict about
+well-formed tag names (not only regarding ':').</li>
+<li>Serialising an Element no longer includes its comment and PI siblings (only
+ElementTree serialisation includes them).</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id262">
+<h1>1.3.3 (2007-07-26)</h1>
+<div class="section" id="id263">
+<h2>Features added</h2>
+<ul class="simple">
+<li>ElementTree compatible parser <tt class="docutils literal">ETCompatXMLParser</tt> strips processing
+instructions and comments while parsing XML</li>
+<li>Parsers now support stripping PIs (keyword argument 'remove_pis')</li>
+<li><tt class="docutils literal">etree.fromstring()</tt> now supports parsing both HTML and XML, depending on
+the parser you pass.</li>
+<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="id264">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Parsing from Python Unicode strings failed on some platforms</li>
+<li><tt class="docutils literal">Element()</tt> did not raise an exception on tag names containing ':'</li>
+<li><tt class="docutils literal">Element.getiterator(tag)</tt> did not accept <tt class="docutils literal">Comment</tt> and
+<tt class="docutils literal">ProcessingInstruction</tt> as tags. It also accepts <tt class="docutils literal">Element</tt> now.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id265">
+<h1>1.3.2 (2007-07-03)</h1>
+<div class="section" id="id266">
+<h2>Features added</h2>
+</div>
+<div class="section" id="id267">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>&quot;deallocating None&quot; crash bug</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id268">
+<h1>1.3.1 (2007-07-02)</h1>
+<div class="section" id="id269">
+<h2>Features added</h2>
+<ul class="simple">
+<li>objectify.DataElement now supports setting values from existing data
+elements (not just plain Python types) and reuses defined namespaces etc.</li>
+<li>E-factory support for lxml.objectify (<tt class="docutils literal">objectify.E</tt>)</li>
+</ul>
+</div>
+<div class="section" id="id270">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Better way to prevent crashes in Element proxy cleanup code</li>
+<li>objectify.DataElement didn't set up None value correctly</li>
+<li>objectify.DataElement didn't check the value against the provided type hints</li>
+<li>Reference-counting bug in <tt class="docutils literal">Element.attrib.pop()</tt></li>
+</ul>
+</div>
+</div>
+<div class="section" id="id271">
+<h1>1.3 (2007-06-24)</h1>
+<div class="section" id="id272">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Module <tt class="docutils literal">lxml.pyclasslookup</tt> module implements an Element class lookup
+scheme that can access the entire tree in read-only mode to help determining
+a suitable Element class</li>
+<li>Parsers take a <tt class="docutils literal">remove_comments</tt> keyword argument that skips over comments</li>
+<li><tt class="docutils literal">parse()</tt> function in <tt class="docutils literal">objectify</tt>, corresponding to <tt class="docutils literal">XML()</tt> etc.</li>
+<li><tt class="docutils literal">Element.addnext(el)</tt> and <tt class="docutils literal">Element.addprevious(el)</tt> methods to support
+adding processing instructions and comments around the root node</li>
+<li><tt class="docutils literal">Element.attrib</tt> was missing <tt class="docutils literal">clear()</tt> and <tt class="docutils literal">pop()</tt> methods</li>
+<li>Extended type annotation in objectify: cleaner annotation namespace setup
+plus new <tt class="docutils literal">deannotate()</tt> function</li>
+<li>Support for custom Element class instantiation in lxml.sax: passing a
+<tt class="docutils literal">makeelement</tt> function to the ElementTreeContentHandler will reuse the
+lookup context of that function</li>
+<li>'.' represents empty ObjectPath (identity)</li>
+<li><tt class="docutils literal">Element.values()</tt> to accompany the existing <tt class="docutils literal">.keys()</tt> and <tt class="docutils literal">.items()</tt></li>
+<li><tt class="docutils literal">collectAttributes()</tt> C-function to build a list of attribute
+keys/values/items for a libxml2 node</li>
+<li><tt class="docutils literal">DTD</tt> validator class (like <tt class="docutils literal">RelaxNG</tt> and <tt class="docutils literal">XMLSchema</tt>)</li>
+<li>HTML generator helpers by Fredrik Lundh in <tt class="docutils literal">lxml.htmlbuilder</tt></li>
+<li><tt class="docutils literal">ElementMaker</tt> XML generator by Fredrik Lundh in <tt class="docutils literal">lxml.builder.E</tt></li>
+<li>Support for pickeling <tt class="docutils literal">objectify.ObjectifiedElement</tt> objects to XML</li>
+<li><tt class="docutils literal">update()</tt> method on Element.attrib</li>
+<li>Optimised replacement for libxml2's _xmlReconsiliateNs(). This allows lxml
+a better handling of namespaces when moving elements between documents.</li>
+</ul>
+</div>
+<div class="section" id="id273">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Removing Elements from a tree could make them loose their namespace
+declarations</li>
+<li><tt class="docutils literal">ElementInclude</tt> didn't honour base URL of original document</li>
+<li>Replacing the children slice of an Element would cut off the tails of the
+original children</li>
+<li><tt class="docutils literal">Element.getiterator(tag)</tt> did not accept <tt class="docutils literal">Comment</tt> and
+<tt class="docutils literal">ProcessingInstruction</tt> as tags</li>
+<li>API functions now check incoming strings for XML conformity.  Zero bytes or
+low ASCII characters are no longer accepted (AssertionError).</li>
+<li>XSLT parsing failed to pass resolver context on to imported documents</li>
+<li>passing '' as namespace prefix in nsmap could be passed through to libxml2</li>
+<li>Objectify couldn't handle prefixed XSD type names in <tt class="docutils literal">xsi:type</tt></li>
+<li>More ET compatible behaviour when writing out XML declarations or not</li>
+<li>More robust error handling in <tt class="docutils literal">iterparse()</tt></li>
+<li>Documents lost their top-level PIs and comments on serialisation</li>
+<li>lxml.sax failed on comments and PIs. Comments are now properly ignored and
+PIs are copied.</li>
+<li>Possible memory leaks in namespace handling when moving elements between
+documents</li>
+</ul>
+</div>
+<div class="section" id="id274">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>major restructuring in the documentation</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id275">
+<h1>1.2.1 (2007-02-27)</h1>
+<div class="section" id="id276">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Build fixes for MS compiler</li>
+<li>Item assignments to special names like <tt class="docutils literal"><span class="pre">element[&quot;text&quot;]</span></tt> failed</li>
+<li>Renamed ObjectifiedDataElement.__setText() to _setText() to make it easier
+to access</li>
+<li>The pattern for attribute names in ObjectPath was too restrictive</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id277">
+<h1>1.2 (2007-02-20)</h1>
+<div class="section" id="id278">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Rich comparison of QName objects</li>
+<li>Support for regular expressions in benchmark selection</li>
+<li>get/set emulation (not .attrib!) for attributes on processing instructions</li>
+<li>ElementInclude Python module for ElementTree compatible XInclude processing
+that honours custom resolvers registered with the source document</li>
+<li>ElementTree.parser property holds the parser used to parse the document</li>
+<li>setup.py has been refactored for greater readability and flexibility</li>
+<li>--rpath flag to setup.py to induce automatic linking-in of dynamic library
+runtime search paths has been renamed to --auto-rpath. This makes it
+possible to pass an --rpath directly to distutils; previously this was being
+shadowed.</li>
+</ul>
+</div>
+<div class="section" id="id279">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Element instantiation now uses locks to prevent race conditions with threads</li>
+<li>ElementTree.write() did not raise an exception when the file was not writable</li>
+<li>Error handling could crash under Python &lt;= 2.4.1 - fixed by disabling thread
+support in these environments</li>
+<li>Element.find*() did not accept QName objects as path</li>
+</ul>
+</div>
+<div class="section" id="id280">
+<h2>Other changes</h2>
+<ul class="simple">
+<li>code cleanup: redundant _NodeBase super class merged into _Element class
+Note: although the impact should be zero in most cases, this change breaks
+the compatibiliy of the public C-API</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id281">
+<h1>1.1.2 (2006-10-30)</h1>
+<div class="section" id="id282">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Data elements in objectify support repr(), which is now used by dump()</li>
+<li>Source distribution now ships with a patched Pyrex</li>
+<li>New C-API function makeElement() to create new elements with text,
+tail, attributes and namespaces</li>
+<li>Reuse original parser flags for XInclude</li>
+<li>Simplified support for handling XSLT processing instructions</li>
+</ul>
+</div>
+<div class="section" id="id283">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Parser resources were not freed before the next parser run</li>
+<li>Open files and XML strings returned by Python resolvers were not
+closed/freed</li>
+<li>Crash in the IDDict returned by XMLDTDID</li>
+<li>Copying Comments and ProcessingInstructions failed</li>
+<li>Memory leak for external URLs in _XSLTProcessingInstruction.parseXSL()</li>
+<li>Memory leak when garbage collecting tailed root elements</li>
+<li>HTML script/style content was not propagated to .text</li>
+<li>Show text xincluded between text nodes correctly in .text and .tail</li>
+<li>'integer * objectify.StringElement' operation was not supported</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id284">
+<h1>1.1.1 (2006-09-21)</h1>
+<div class="section" id="id285">
+<h2>Features added</h2>
+<ul class="simple">
+<li>XSLT profiling support (<tt class="docutils literal">profile_run</tt> keyword)</li>
+<li>countchildren() method on objectify.ObjectifiedElement</li>
+<li>Support custom elements for tree nodes in lxml.objectify</li>
+</ul>
+</div>
+<div class="section" id="id286">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>lxml.objectify failed to support long data values (e.g., &quot;123L&quot;)</li>
+<li>Error messages from XSLT did not reach <tt class="docutils literal">XSLT.error_log</tt></li>
+<li>Factories objectify.Element() and objectify.DataElement() were missing
+<tt class="docutils literal">attrib</tt> and <tt class="docutils literal">nsmap</tt> keyword arguments</li>
+<li>Changing the default parser in lxml.objectify did not update the factories
+Element() and DataElement()</li>
+<li>Let lxml.objectify.Element() always generate tree elements (not data
+elements)</li>
+<li>Build under Windows failed ('0' bug in patched Pyrex version)</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id287">
+<h1>1.1 (2006-09-13)</h1>
+<div class="section" id="id288">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Comments and processing instructions return '&lt;!-- coment --&gt;' and
+'&lt;?pi-target content?&gt;' for repr()</li>
+<li>Parsers are now the preferred (and default) place where element class lookup
+schemes should be registered.  Namespace lookup is no longer supported by
+default.</li>
+<li>Support for Python 2.5 beta</li>
+<li>Unlock the GIL for deep copying documents and for XPath()</li>
+<li>New <tt class="docutils literal">compact</tt> keyword argument for parsing read-only documents</li>
+<li>Support for parser options in iterparse()</li>
+<li>The <tt class="docutils literal">namespace</tt> axis is supported in XPath and returns (prefix, URI)
+tuples</li>
+<li>The XPath expression &quot;/&quot; now returns an empty list instead of raising an
+exception</li>
+<li>XML-Object API on top of lxml (lxml.objectify)</li>
+<li>Customizable Element class lookup:<ul>
+<li>different pre-implemented lookup mechanisms</li>
+<li>support for externally provided lookup functions</li>
+</ul>
+</li>
+<li>Support for processing instructions (ET-like, not compatible)</li>
+<li>Public C-level API for independent extension modules</li>
+<li>Module level <tt class="docutils literal">iterwalk()</tt> function as 'iterparse' for trees</li>
+<li>Module level <tt class="docutils literal">iterparse()</tt> function similar to ElementTree (see
+documentation for differences)</li>
+<li>Element.nsmap property returns a mapping of all namespace prefixes known at
+the Element to their namespace URI</li>
+<li>Reentrant threading support in RelaxNG, XMLSchema and XSLT</li>
+<li>Threading support in parsers and serializers:<ul>
+<li>All in-memory operations (tostring, parse(StringIO), etc.) free the GIL</li>
+<li>File operations (on file names) free the GIL</li>
+<li>Reading from file-like objects frees the GIL and reacquires it for reading</li>
+<li>Serialisation to file-like objects is single-threaded (high lock overhead)</li>
+</ul>
+</li>
+<li>Element iteration over XPath axes:<ul>
+<li>Element.iterdescendants() iterates over the descendants of an element</li>
+<li>Element.iterancestors() iterates over the ancestors of an element (from
+parent to parent)</li>
+<li>Element.itersiblings() iterates over either the following or preceding
+siblings of an element</li>
+<li>Element.iterchildren() iterates over the children of an element in either
+direction</li>
+<li>All iterators support the <tt class="docutils literal">tag</tt> keyword argument to restrict the
+generated elements</li>
+</ul>
+</li>
+<li>Element.getnext() and Element.getprevious() return the direct siblings of an
+element</li>
+</ul>
+</div>
+<div class="section" id="id289">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>filenames with local 8-bit encoding were not supported</li>
+<li>1.1beta did not compile under Python 2.3</li>
+<li>ignore unknown 'pyval' attribute values in objectify</li>
+<li>objectify.ObjectifiedElement.addattr() failed to accept Elements and Lists</li>
+<li>objectify.ObjectPath.setattr() failed to accept Elements and Lists</li>
+<li>XPathSyntaxError now inherits from XPathError</li>
+<li>Threading race conditions in RelaxNG and XMLSchema</li>
+<li>Crash when mixing elements from XSLT results into other trees, concurrent
+XSLT is only allowed when the stylesheet was parsed in the main thread</li>
+<li>The EXSLT <tt class="docutils literal">regexp:match</tt> function now works as defined (except for some
+differences in the regular expression syntax)</li>
+<li>Setting element.text to '' returned None on request, not the empty string</li>
+<li><tt class="docutils literal">iterparse()</tt> could crash on long XML files</li>
+<li>Creating documents no longer copies the parser for later URL resolving.  For
+performance reasons, only a reference is kept.  Resolver updates on the
+parser will now be reflected by documents that were parsed before the
+change.  Although this should rarely become visible, it is a behavioral
+change from 1.0.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id290">
+<h1>1.0.4 (2006-09-09)</h1>
+<div class="section" id="id291">
+<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="id292">
+<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="id293">
+<h1>1.0.3 (2006-08-08)</h1>
+<div class="section" id="id294">
+<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="id295">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Crash when mixing elements from XSLT results into other trees</li>
+<li>Copying/deepcopying did not work for ElementTree objects</li>
+<li>Setting an attribute to a non-string value did not raise an exception</li>
+<li>Element.remove() deleted the tail text from the removed Element</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id296">
+<h1>1.0.2 (2006-06-27)</h1>
+<div class="section" id="id297">
+<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="id298">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Rare exceptions in Python list functions were not handled</li>
+<li>Parsing accepted unicode strings with XML encoding declaration in certain
+cases</li>
+<li>Parsing 8-bit encoded strings from StringIO objects raised an exception</li>
+<li>Module function <tt class="docutils literal">initThread()</tt> was removed - useless (and never worked)</li>
+<li>XSLT and parser exception messages include the error line number</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id299">
+<h1>1.0.1 (2006-06-09)</h1>
+<div class="section" id="id300">
+<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="id301">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Document deallocation could crash in certain garbage collection scenarios</li>
+<li>Extension function calls in XSLT variable declarations could break the
+stylesheet and crash on repeated calls</li>
+<li>Deep copying Elements could loose namespaces declared in parents</li>
+<li>Deep copying Elements did not copy tail</li>
+<li>Parsing file(-like) objects failed to load external entities</li>
+<li>Parsing 8-bit strings from file(-like) objects raised an exception</li>
+<li>xsl:include failed when the stylesheet was parsed from a file-like object</li>
+<li>lxml.sax.ElementTreeProducer did not call startDocument() / endDocument()</li>
+<li>MSVC compiler complained about long strings (supports only 2048 bytes)</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id302">
+<h1>1.0 (2006-06-01)</h1>
+<div class="section" id="id303">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Element.getiterator() and the findall() methods support finding arbitrary
+elements from a namespace (pattern <tt class="docutils literal">{namespace}*</tt>)</li>
+<li>Another speedup in tree iteration code</li>
+<li>General speedup of Python Element object creation and deallocation</li>
+<li>Writing C14N no longer serializes in memory (reduced memory footprint)</li>
+<li>PyErrorLog for error logging through the Python <tt class="docutils literal">logging</tt> module</li>
+<li><tt class="docutils literal">Element.getroottree()</tt> returns an ElementTree for the root node of the
+document that contains the element.</li>
+<li>ElementTree.getpath(element) returns a simple, absolute XPath expression to
+find the element in the tree structure</li>
+<li>Error logs have a <tt class="docutils literal">last_error</tt> attribute for convenience</li>
+<li>Comment texts can be changed through the API</li>
+<li>Formatted output via <tt class="docutils literal">pretty_print</tt> keyword in serialization functions</li>
+<li>XSLT can block access to file system and network via <tt class="docutils literal">XSLTAccessControl</tt></li>
+<li>ElementTree.write() no longer serializes in memory (reduced memory
+footprint)</li>
+<li>Speedup of Element.findall(tag) and Element.getiterator(tag)</li>
+<li>Support for writing the XML representation of Elements and ElementTrees to
+Python unicode strings via <tt class="docutils literal">etree.tounicode()</tt></li>
+<li>Support for writing XSLT results to Python unicode strings via <tt class="docutils literal">unicode()</tt></li>
+<li>Parsing a unicode string no longer copies the string (reduced memory
+footprint)</li>
+<li>Parsing file-like objects reads chunks rather than the whole file (reduced
+memory footprint)</li>
+<li>Parsing StringIO objects from the start avoids copying the string (reduced
+memory footprint)</li>
+<li>Read-only 'docinfo' attribute in ElementTree class holds DOCTYPE
+information, original encoding and XML version as seen by the parser</li>
+<li>etree module can be compiled without libxslt by commenting out the line
+<tt class="docutils literal">include &quot;xslt.pxi&quot;</tt> near the end of the etree.pyx source file</li>
+<li>Better error messages in parser exceptions</li>
+<li>Error reporting also works in XSLT</li>
+<li>Support for custom document loaders (URI resolvers) in parsers and XSLT,
+resolvers are registered at parser level</li>
+<li>Implementation of exslt:regexp for XSLT based on the Python 're' module,
+enabled by default, can be switched off with 'regexp=False' keyword argument</li>
+<li>Support for exslt extensions (libexslt) and libxslt extra functions
+(node-set, document, write, output)</li>
+<li>Substantial speedup in XPath.evaluate()</li>
+<li>HTMLParser for parsing (broken) HTML</li>
+<li>XMLDTDID function parses XML into tuple (root node, ID dict) based on xml:id
+implementation of libxml2 (as opposed to ET compatible XMLID)</li>
+</ul>
+</div>
+<div class="section" id="id304">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Memory leak in Element.__setitem__</li>
+<li>Memory leak in Element.attrib.items() and Element.attrib.values()</li>
+<li>Memory leak in XPath extension functions</li>
+<li>Memory leak in unicode related setup code</li>
+<li>Element now raises ValueError on empty tag names</li>
+<li>Namespace fixing after moving elements between documents could fail if the
+source document was freed too early</li>
+<li>Setting namespace-less tag names on namespaced elements ('{ns}t' -&gt; 't')
+didn't reset the namespace</li>
+<li>Unknown constants from newer libxml2 versions could raise exceptions in the
+error handlers</li>
+<li>lxml.etree compiles much faster</li>
+<li>On libxml2 &lt;= 2.6.22, parsing strings with encoding declaration could fail
+in certain cases</li>
+<li>Document reference in ElementTree objects was not updated when the root
+element was moved to a different document</li>
+<li>Running absolute XPath expressions on an Element now evaluates against the
+root tree</li>
+<li>Evaluating absolute XPath expressions (<tt class="docutils literal">/*</tt>) on an ElementTree could fail</li>
+<li>Crashes when calling XSLT, RelaxNG, etc. with uninitialized ElementTree
+objects</li>
+<li>Removed public function <tt class="docutils literal">initThreadLogging()</tt>, replaced by more general
+<tt class="docutils literal">initThread()</tt> which fixes a number of setup problems in threads</li>
+<li>Memory leak when using iconv encoders in tostring/write</li>
+<li>Deep copying Elements and ElementTrees maintains the document information</li>
+<li>Serialization functions raise LookupError for unknown encodings</li>
+<li>Memory deallocation crash resulting from deep copying elements</li>
+<li>Some ElementTree methods could crash if the root node was not initialized
+(neither file nor element passed to the constructor)</li>
+<li>Element/SubElement failed to set attribute namespaces from passed <tt class="docutils literal">attrib</tt>
+dictionary</li>
+<li><tt class="docutils literal">tostring()</tt> adds an XML declaration for non-ASCII encodings</li>
+<li><tt class="docutils literal">tostring()</tt> failed to serialize encodings that contain 0-bytes</li>
+<li>ElementTree.xpath() and XPathDocumentEvaluator were not using the
+ElementTree root node as reference point</li>
+<li>Calling <tt class="docutils literal"><span class="pre">document('')</span></tt> in XSLT failed to return the stylesheet</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id305">
+<h1>0.9.2 (2006-05-10)</h1>
+<div class="section" id="id306">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Speedup for Element.makeelement(): the new element reuses the original
+libxml2 document instead of creating a new empty one</li>
+<li>Speedup for reversed() iteration over element children (Py2.4+ only)</li>
+<li>ElementTree compatible QName class</li>
+<li>RelaxNG and XMLSchema accept any Element, not only ElementTrees</li>
+</ul>
+</div>
+<div class="section" id="id307">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>str(xslt_result) was broken for XSLT output other than UTF-8</li>
+<li>Memory leak if write_c14n fails to write the file after conversion</li>
+<li>Crash in XMLSchema and RelaxNG when passing non-schema documents</li>
+<li>Memory leak in RelaxNG() when RelaxNGParseError is raised</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id308">
+<h1>0.9.1 (2006-03-30)</h1>
+<div class="section" id="id309">
+<h2>Features added</h2>
+<ul class="simple">
+<li>lxml.sax.ElementTreeContentHandler checks closing elements and raises
+SaxError on mismatch</li>
+<li>lxml.sax.ElementTreeContentHandler supports namespace-less SAX events
+(startElement, endElement) and defaults to empty attributes (keyword
+argument)</li>
+<li>Speedup for repeatedly accessing element tag names</li>
+<li>Minor API performance improvements</li>
+</ul>
+</div>
+<div class="section" id="id310">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Memory deallocation bug when using XSLT output method &quot;html&quot;</li>
+<li>sax.py was handling UTF-8 encoded tag names where it shouldn't</li>
+<li>lxml.tests package will no longer be installed (is still in source tar)</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id311">
+<h1>0.9 (2006-03-20)</h1>
+<div class="section" id="id312">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Error logging API for libxml2 error messages</li>
+<li>Various performance improvements</li>
+<li>Benchmark script for lxml, ElementTree and cElementTree</li>
+<li>Support for registering extension functions through new FunctionNamespace
+class (see doc/extensions.txt)</li>
+<li>ETXPath class for XPath expressions in ElementTree notation ('//{ns}tag')</li>
+<li>Support for variables in XPath expressions (also in XPath class)</li>
+<li>XPath class for compiled XPath expressions</li>
+<li>XMLID module level function (ElementTree compatible)</li>
+<li>XMLParser API for customized libxml2 parser configuration</li>
+<li>Support for custom Element classes through new Namespace API (see
+doc/namespace_extensions.txt)</li>
+<li>Common exception base class LxmlError for module exceptions</li>
+<li>real iterator support in iter(Element), Element.getiterator()</li>
+<li>XSLT objects are callable, result trees support str()</li>
+<li>Added MANIFEST.in for easier creation of RPM files.</li>
+<li>'getparent' method on elements allows navigation to an element's
+parent element.</li>
+<li>Python core compatible SAX tree builder and SAX event generator. See
+doc/sax.txt for more information.</li>
+</ul>
+</div>
+<div class="section" id="id313">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Segfaults and memory leaks in various API functions of Element</li>
+<li>Segfault in XSLT.tostring()</li>
+<li>ElementTree objects no longer interfere, Elements can be root of different
+ElementTrees at the same time</li>
+<li>document('') works in XSLT documents read from files (in-memory documents
+cannot support this due to libxslt deficiencies)</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id314">
+<h1>0.8 (2005-11-03)</h1>
+<div class="section" id="id315">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Support for copy.deepcopy() on elements. copy.copy() works also, but
+does the same thing, and does <em>not</em> create a shallow copy, as that
+makes no sense in the context of libxml2 trees. This means a
+potential incompatibility with ElementTree, but there's more chance
+that it works than if copy.copy() isn't supported at all.</li>
+<li>Increased compatibility with (c)ElementTree; .parse() on ElementTree is
+supported and parsing of gzipped XML files works.</li>
+<li>implemented index() on elements, allowing one to find the index of a
+SubElement.</li>
+</ul>
+</div>
+<div class="section" id="id316">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Use xslt-config instead of xml2-config to find out libxml2
+directories to take into account a case where libxslt is installed
+in a different directory than libxslt.</li>
+<li>Eliminate crash condition in iteration when text nodes are changed.</li>
+<li>Passing 'None' to tostring() does not result in a segfault anymore,
+but an AssertionError.</li>
+<li>Some test fixes for Windows.</li>
+<li>Raise XMLSyntaxError and XPathSyntaxError instead of plain python
+syntax errors. This should be less confusing.</li>
+<li>Fixed error with uncaught exception in Pyrex code.</li>
+<li>Calling lxml.etree.fromstring('') throws XMLSyntaxError instead of a
+segfault.</li>
+<li>has_key() works on attrib. 'in' tests also work correctly on attrib.</li>
+<li>INSTALL.txt was saying 2.2.16 instead of 2.6.16 as a supported
+libxml2 version, as it should.</li>
+<li>Passing a UTF-8 encoded string to the XML() function would fail;
+fixed.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id317">
+<h1>0.7 (2005-06-15)</h1>
+<div class="section" id="id318">
+<h2>Features added</h2>
+<ul class="simple">
+<li>parameters (XPath expressions) can be passed to XSLT using keyword
+parameters.</li>
+<li>Simple XInclude support. Calling the xinclude() method on a tree
+will process any XInclude statements in the document.</li>
+<li>XMLSchema support. Use the XMLSchema class or the convenience
+xmlschema() method on a tree to do XML Schema (XSD) validation.</li>
+<li>Added convenience xslt() method on tree. This is less efficient
+than the XSLT object, but makes it easier to write quick code.</li>
+<li>Added convenience relaxng() method on tree. This is less efficient
+than the RelaxNG object, but makes it easier to write quick code.</li>
+<li>Make it possible to use XPathEvaluator with elements as well. The
+XPathEvaluator in this case will retain the element so multiple
+XPath queries can be made against one element efficiently. This
+replaces the second argument to the .evaluate() method that existed
+previously.</li>
+<li>Allow registerNamespace() to be called on an XPathEvaluator, after
+creation, to add additional namespaces. Also allow registerNamespaces(),
+which does the same for a namespace dictionary.</li>
+<li>Add 'prefix' attribute to element to be able to read prefix information.
+This is entirely read-only.</li>
+<li>It is possible to supply an extra nsmap keyword parameter to
+the Element() and SubElement() constructors, which supplies a
+prefix to namespace URI mapping. This will create namespace
+prefix declarations on these elements and these prefixes will show up
+in XML serialization.</li>
+</ul>
+</div>
+<div class="section" id="id319">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Killed yet another memory management related bug: trees created
+using newDoc would not get a libxml2-level dictionary, which caused
+problems when deallocating these documents later if they contained a
+node that came from a document with a dictionary.</li>
+<li>Moving namespaced elements between documents was problematic as
+references to the original document would remain. This has been fixed
+by applying xmlReconciliateNs() after each move operation.</li>
+<li>Can pass None to 'dump()' without segfaults.</li>
+<li>tostring() works properly for non-root elements as well.</li>
+<li>Cleaned out the tostring() method so it should handle encoding
+correctly.</li>
+<li>Cleaned out the ElementTree.write() method so it should handle encoding
+correctly. Writing directly to a file should also be faster, as there is no
+need to go through a Python string in that case. Made sure the test cases
+test both serializing to StringIO as well as serializing to a real file.</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id320">
+<h1>0.6 (2005-05-14)</h1>
+<div class="section" id="id321">
+<h2>Features added</h2>
+<ul class="simple">
+<li>Changed setup.py so that library_dirs is also guessed. This should
+help with compilation on the Mac OS X platform, where otherwise the
+wrong library (shipping with the OS) could be picked up.</li>
+<li>Tweaked setup.py so that it picks up the version from version.txt.</li>
+</ul>
+</div>
+<div class="section" id="id322">
+<h2>Bugs fixed</h2>
+<ul class="simple">
+<li>Do the right thing when handling namespaced attributes.</li>
+<li>fix bug where tostring() moved nodes into new documents. tostring()
+had very nasty side-effects before this fix, sorry!</li>
+</ul>
+</div>
+</div>
+<div class="section" id="id323">
+<h1>0.5.1 (2005-04-09)</h1>
+<ul class="simple">
+<li>Python 2.2 compatibility fixes.</li>
+<li>unicode fixes in Element() and Comment() as well as XML(); unicode
+input wasn't properly being UTF-8 encoded.</li>
+</ul>
+</div>
+<div class="section" id="id324">
+<h1>0.5 (2005-04-08)</h1>
+<p>Initial public release.</p>
+</div>
+</div>
+<div class="footer">
+<hr class="footer" />
+Generated on: 2014-11-20.
+
+</div>
+</body>
+</html>
index aa0a52b0b0a2ccde7d0e4c85a2d510fe4e6bac00..dce9d7cda4ba887cbfb7376cd903c1a19867d7b1 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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>
@@ -183,7 +183,7 @@ enough to replace a shallow copy in your case.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 02c7e978f6cc7f7b7827262936b450bf5b043814..81da95d7a8646497d6a3992ddcc032b150ca1647 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">Credits</h1>
 
 <div class="section" id="main-contributors">
 <h1>Main contributors</h1>
@@ -72,7 +72,7 @@ Holger Krekel for originally hosting lxml on codespeak.net</li>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 98e1fa1029eb2d293ae57dd58476f70797634bdb..fdbb8fb8e66e2b12bcdac842c5996b659e934c99 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -92,7 +92,7 @@ namespace URIs: the <tt class="docutils literal">CSSSelector</tt> class accepts
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index cfe30ac120287d1844433ebe4f01be3b2247ffaf..c33485f7cf58e8b7d2a9ec4b951a5a024c3e6b4d 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -443,7 +443,7 @@ subclasses for elements of this namespace:</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 3389800d8f84f98352beca4ab62bce86a9f2991e..4a3e5c917f7140e6e31a85fb564dbbf592c1430b 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">BeautifulSoup Parser</h1>
 
 <p><a class="reference external" href="http://www.crummy.com/software/BeautifulSoup/">BeautifulSoup</a> is a Python package that parses broken HTML, just like
 lxml supports it based on the parser of libxml2.  BeautifulSoup uses a
@@ -169,7 +169,7 @@ BeautifulSoup's <a class="reference external" href="http://www.crummy.com/softwa
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index e9920fb81a6014d2443b51be28326aec83d373ac..9766d50a6583566ec1421f12bc663b37e886bbcc 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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>
@@ -505,7 +505,7 @@ will work:</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index aa2301cdb11acb31edbe510235f0f3dfe1ce6e9f..5304a3d820b6df2fad6000ed3d614da7bd5e8aba 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -74,7 +74,7 @@ module.  Note that these are the parser classes provided by html5lib.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index fc8de83694c0af46e0dc872c6816c69947af5193..61cefcb1bbc32fc6e021e1b1d9687f3fa438be19 100644 (file)
@@ -10,7 +10,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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">&#187; lxml takes all the pain out of XML. &#171;</a></div>
@@ -51,7 +51,7 @@ fast Python XML processing.</p>
 </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.4.0.pdf">PDF
+<p>The complete lxml documentation is available for download as <a class="reference external" href="lxmldoc-3.4.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">
@@ -114,8 +114,8 @@ external C modules, including fast custom element class support.</p>
 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.4.0.tgz">lxml 3.4.0</a>, released 2014-09-10
-(<a class="reference external" href="/changes-3.4.0.html">changes for 3.4.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.4.1.tgz">lxml 3.4.1</a>, released 2014-11-20
+(<a class="reference external" href="/changes-3.4.1.html">changes for 3.4.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>
@@ -123,7 +123,7 @@ are listed below.</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.4.0.pdf">PDF documentation</a>.</p>
+<a class="reference external" href="lxmldoc-3.4.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
@@ -166,14 +166,15 @@ obstacle to using lxml in your codebase.</p>
 <a class="reference external" href="http://lxml.de/1.3/">1.3</a>,
 <a class="reference external" href="http://lxml.de/2.0/">2.0</a>,
 <a class="reference external" href="http://lxml.de/2.1/">2.1</a>,
-<a class="reference external" href="http://lxml.de/2.2/">2.2</a>
-<a class="reference external" href="http://lxml.de/2.3/">2.3</a>
-<a class="reference external" href="http://lxml.de/3.0/">3.0</a>
-<a class="reference external" href="http://lxml.de/3.1/">3.1</a>
-<a class="reference external" href="http://lxml.de/3.2/">3.2</a>
+<a class="reference external" href="http://lxml.de/2.2/">2.2</a>,
+<a class="reference external" href="http://lxml.de/2.3/">2.3</a>,
+<a class="reference external" href="http://lxml.de/3.0/">3.0</a>,
+<a class="reference external" href="http://lxml.de/3.1/">3.1</a>,
+<a class="reference external" href="http://lxml.de/3.2/">3.2</a>,
 <a class="reference external" href="http://lxml.de/3.3/">3.3</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.4.1.tgz">lxml 3.4.1</a>, released 2014-11-20 (<a class="reference external" href="/changes-3.4.1.html">changes for 3.4.1</a>)</li>
 <li><a class="reference external" href="/files/lxml-3.4.0.tgz">lxml 3.4.0</a>, released 2014-09-10 (<a class="reference external" href="/changes-3.4.0.html">changes for 3.4.0</a>)</li>
 <li><a class="reference external" href="/files/lxml-3.4.0beta1.tgz">lxml 3.4.0beta1</a>, released 2014-09-05 (<a class="reference external" href="/changes-3.4.0beta1.html">changes for 3.4.0beta1</a>)</li>
 <li><a class="reference external" href="/files/lxml-3.3.6.tgz">lxml 3.3.6</a>, released 2014-08-28 (<a class="reference external" href="/changes-3.3.6.html">changes for 3.3.6</a>)</li>
@@ -223,7 +224,7 @@ donation is non-refundable.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 0fe0444296d6f1b2b3aa9766bb95bafc386ecb3b..59ce0c7d804a8c573ed5de52fb80e8c09beffd3a 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">Installing lxml</h1>
 
 <p>For special installation instructions regarding MS Windows and
 MacOS-X, see the specific sections below.</p>
@@ -166,7 +166,7 @@ read the
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 003fa88525a9f624643d5affa42232f039731bc4..be0ccbfb0240e0fe9da5c15810a0ab1b11745840 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">Why lxml?</h1>
 
 <div class="contents topic" id="contents">
 <p class="topic-title first">Contents</p>
@@ -66,7 +66,7 @@ having to learn new things -- XML is complicated enough.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index de3073b8664e5eb19fe769e47a8952c84e0e1703..a51952747983341da1de10d899588aad46f54aee 100644 (file)
@@ -11,7 +11,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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" />
@@ -270,7 +270,7 @@ implemented in pure Python.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 7226f3cd09a5e4d3cbb5d30fc2359ba9cb5346b5..8c16f76ce06bae5cb26974c1392194f6b187b5aa 100644 (file)
@@ -9,7 +9,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">lxml.html</h1>
 <table class="docinfo" frame="void" rules="none">
 <col class="docinfo-name" />
 <col class="docinfo-content" />
@@ -670,7 +670,7 @@ microformat.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 63623bc42748f6225fe481b053ba1827c95e549f..d859e90dccee8c1d29f706d8e5736a7841b87245 100644 (file)
@@ -9,7 +9,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">lxml.objectify</h1>
 <table class="docinfo" frame="void" rules="none">
 <col class="docinfo-name" />
 <col class="docinfo-content" />
@@ -1149,7 +1149,7 @@ support any XPath expression.</li>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 561c0fdc968102df1014d65a89d28e8056a0b634..bda748e2c9264127c069f4029ecdcde2e6ef11a0 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -849,7 +849,7 @@ with UTF-8 is also considerably faster in most cases.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 6f2049e796e06e33c176a974caaab77f672849fb..2bece743693ea59b7e976c4d067f3b26b6d99326 100644 (file)
@@ -11,7 +11,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">Benchmarks and Speed</h1>
 <table class="docinfo" frame="void" rules="none">
 <col class="docinfo-name" />
 <col class="docinfo-content" />
@@ -782,7 +782,7 @@ random.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 9f21603b4f26f7d88555a3e05d28e9e92f52ac3a..557436968deb82491607c6c722a60c76457c7d8c 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">Document loading and URL resolving</h1>
 
 <div class="contents topic" id="contents">
 <p class="topic-title first">Contents</p>
@@ -234,7 +234,7 @@ documents or raises exceptions if access is denied.</li>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index dc18db9d69282f0301da82073b941d7d81c4d4e2..4633b53e177075bd3a165a60195717d3c05e1ae3 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -108,7 +108,7 @@ DOM implementation connot generate SAX events from a DOM tree.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 158e949e026a516017bd317ec8373f3650ff6e7f..4132ce0a8b3a705ebdd50dba0acce0a20764a8dc 100644 (file)
@@ -8,5 +8,5 @@
    </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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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>
+   <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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/files/">Download files</a></li></ul></div></body>
  </html>
\ No newline at end of file
index 7aaccf51a233f17a135e021609cc9a73e0d75cf9..39954c8e48823115a4df4326a6b60e0249e9b7cd 100644 (file)
@@ -11,7 +11,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><h1 class="title">The lxml.etree Tutorial</h1>
 <table class="docinfo" frame="void" rules="none">
 <col class="docinfo-name" />
 <col class="docinfo-content" />
@@ -85,7 +85,7 @@ of) the following import chain as a fall-back to the original ElementTree:</p>
           <span class="k">print</span><span class="p">(</span><span class="s">"Failed to import ElementTree from any known place"</span><span class="p">)</span>
 </pre></div>
 <p>To aid in writing portable code, this tutorial makes it clear in the examples
-which part of the presented API is an extension of lxml.etree over the
+which part of the presented API is an extension of <tt class="docutils literal">lxml.etree</tt> over the
 original <a class="reference external" href="http://effbot.org/zone/element-index.htm#documentation">ElementTree API</a>, as defined by Fredrik Lundh's <a class="reference external" href="http://effbot.org/zone/element-index.htm">ElementTree
 library</a>.</p>
 <div class="section" id="the-element-class">
@@ -197,13 +197,13 @@ in any number of places in any number of trees, which allows for the same
 copy operation as with lists.  The obvious drawback is that modifications
 to such an Element will apply to all places where it appears in a tree,
 which may or may not be intended.</p>
-<p>The upside of this difference is that an Element in lxml.etree always
+<p>The upside of this difference is that an Element in <tt class="docutils literal">lxml.etree</tt> always
 has exactly one parent, which can be queried through the <tt class="docutils literal">getparent()</tt>
 method.  This is not supported in the original ElementTree.</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">root</span> <span class="ow">is</span> <span class="n">root</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">getparent</span><span class="p">()</span>  <span class="c"># lxml.etree only!</span>
 <span class="go">True</span>
 </pre></div>
-<p>If you want to <em>copy</em> an element to a different position in lxml.etree,
+<p>If you want to <em>copy</em> an element to a different position in <tt class="docutils literal">lxml.etree</tt>,
 consider creating an independent <em>deep copy</em> using the <tt class="docutils literal">copy</tt> module
 from Python's standard library:</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">copy</span> <span class="kn">import</span> <span class="n">deepcopy</span>
@@ -462,7 +462,7 @@ make sure only Element objects are returned, you can pass the
 </pre></div>
 <p>Note that passing a wildcard <tt class="docutils literal">"*"</tt> tag name will also yield all
 <tt class="docutils literal">Element</tt> nodes (and only elements).</p>
-<p>In lxml.etree, elements provide <a class="reference external" href="api.html#iteration">further iterators</a> for all directions in the
+<p>In <tt class="docutils literal">lxml.etree</tt>, elements provide <a class="reference external" href="api.html#iteration">further iterators</a> for all directions in the
 tree: children, parents (or rather ancestors) and siblings.</p>
 </div>
 <div class="section" id="serialisation">
@@ -584,7 +584,7 @@ the root Element:</p>
 </pre></div>
 <p>This serialisation behaviour has changed in lxml 1.3.4.  Before,
 the tree was serialised without DTD content, which made lxml
-loose DTD information in an input-output cycle.</p>
+lose DTD information in an input-output cycle.</p>
 </div>
 <div class="section" id="parsing-from-strings-and-files">
 <h1>Parsing from strings and files</h1>
@@ -764,10 +764,10 @@ element, but you can control this through the <tt class="docutils literal">event
 <span class="go">  end,    a, data</span>
 <span class="go">  end, root, None</span>
 </pre></div>
-<p>Note that the text, tail and children of an Element are not necessarily there
+<p>Note that the text, tail, and children of an Element are not necessarily present
 yet when receiving the <tt class="docutils literal">start</tt> event.  Only the <tt class="docutils literal">end</tt> event guarantees
 that the Element has been parsed completely.</p>
-<p>It also allows to <tt class="docutils literal">.clear()</tt> or modify the content of an Element to
+<p>It also allows you to <tt class="docutils literal">.clear()</tt> or modify the content of an Element to
 save memory. So if you parse a large tree and you want to keep memory
 usage small, you should clean up parts of the tree that you no longer
 need:</p>
@@ -785,12 +785,12 @@ need:</p>
 <span class="go">None</span>
 <span class="go">** cleaning up the subtree</span>
 </pre></div>
-<p>A very important use cases for <tt class="docutils literal">iterparse()</tt> is parsing large
+<p>A very important use case for <tt class="docutils literal">iterparse()</tt> is parsing large
 generated XML files, e.g. database dumps.  Most often, these XML
 formats only have one main data item element that hangs directly below
 the root node and that is repeated thousands of times.  In this case,
-it is best practice to let <tt class="docutils literal">lxml.etree</tt> do the tree building and to
-only intercept exactly on this one Element, using the normal tree API
+it is best practice to let <tt class="docutils literal">lxml.etree</tt> do the tree building and only to
+intercept on exactly this one Element, using the normal tree API
 for data extraction.</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">xml_file</span> <span class="o">=</span> <span class="n">BytesIO</span><span class="p">(</span><span class="s">'''</span><span class="se">\</span>
 <span class="gp">... </span><span class="s">&lt;root&gt;</span>
@@ -837,7 +837,7 @@ events are generated:</p>
 <span class="go"> * test = true</span>
 </pre></div>
 <p>You can reuse the parser and its target as often as you like, so you
-should take care that the <tt class="docutils literal">.close()</tt> methods really resets the
+should take care that the <tt class="docutils literal">.close()</tt> method really resets the
 target to a usable state (also in the case of an error!).</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">events</span> <span class="o">=</span> <span class="n">etree</span><span class="o">.</span><span class="n">fromstring</span><span class="p">(</span><span class="s">'&lt;root test="true"/&gt;'</span><span class="p">,</span> <span class="n">parser</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="k">print</span><span class="p">(</span><span class="n">parser_target</span><span class="o">.</span><span class="n">close_count</span><span class="p">)</span>
@@ -862,7 +862,7 @@ target to a usable state (also in the case of an error!).</p>
 <h1>Namespaces</h1>
 <p>The ElementTree API avoids
 <a class="reference external" href="http://www.w3.org/TR/xml-names/#ns-qualnames">namespace prefixes</a>
-wherever possible and deploys the real namespaces (the URI) instead:</p>
+wherever possible and deploys the real namespace (the URI) instead:</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">xhtml</span> <span class="o">=</span> <span class="n">etree</span><span class="o">.</span><span class="n">Element</span><span class="p">(</span><span class="s">"{http://www.w3.org/1999/xhtml}html"</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">body</span> <span class="o">=</span> <span class="n">etree</span><span class="o">.</span><span class="n">SubElement</span><span class="p">(</span><span class="n">xhtml</span><span class="p">,</span> <span class="s">"{http://www.w3.org/1999/xhtml}body"</span><span class="p">)</span>
 <span class="gp">&gt;&gt;&gt; </span><span class="n">body</span><span class="o">.</span><span class="n">text</span> <span class="o">=</span> <span class="s">"Hello World"</span>
@@ -948,8 +948,8 @@ an Element, not only those that it defines itself.</p>
 </pre></div>
 <p>Therefore, modifying the returned dict cannot have any meaningful
 impact on the Element.  Any changes to it are ignored.</p>
-<p>Namespaces on attributes work alike, but as of version 2.3, lxml.etree
-will make sure that the attribute uses a prefixed namespace
+<p>Namespaces on attributes work alike, but as of version 2.3, <tt class="docutils literal">lxml.etree</tt>
+will ensure that the attribute uses a prefixed namespace
 declaration.  This is because unprefixed attribute names are not
 considered being in a namespace by the XML namespace specification
 (<a class="reference external" href="http://www.w3.org/TR/2009/REC-xml-names-20091208/#defaulting">section 6.2</a>), so they may end up loosing their namespace on a
@@ -975,7 +975,7 @@ element.</p>
 <span class="gp">&gt;&gt;&gt; </span><span class="k">print</span><span class="p">(</span><span class="n">results</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">tag</span><span class="p">)</span>
 <span class="go">{http://www.w3.org/1999/xhtml}body</span>
 </pre></div>
-<p>For convenience, you can use <tt class="docutils literal">"*"</tt> wildcards in all iterators of lxml.etree,
+<p>For convenience, you can use <tt class="docutils literal">"*"</tt> wildcards in all iterators of <tt class="docutils literal">lxml.etree</tt>,
 both for tag names and namespaces:</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="k">for</span> <span class="n">el</span> <span class="ow">in</span> <span class="n">xhtml</span><span class="o">.</span><span class="n">iter</span><span class="p">(</span><span class="s">'*'</span><span class="p">):</span> <span class="k">print</span><span class="p">(</span><span class="n">el</span><span class="o">.</span><span class="n">tag</span><span class="p">)</span>   <span class="c"># any element</span>
 <span class="go">{http://www.w3.org/1999/xhtml}html</span>
@@ -1038,7 +1038,7 @@ HTML:</p>
 <span class="go">  &lt;/body&gt;</span>
 <span class="go">&lt;/html&gt;</span>
 </pre></div>
-<p>The Element creation based on attribute access makes it easy to build up a
+<p>Element creation based on attribute access makes it easy to build up a
 simple vocabulary for an XML language:</p>
 <div class="syntax"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">lxml.builder</span> <span class="kn">import</span> <span class="n">ElementMaker</span> <span class="c"># lxml only !</span>
 
@@ -1093,7 +1093,7 @@ called <a class="reference external" href="http://effbot.org/zone/element-xpath.
 <tt class="docutils literal">{namespace}tag</tt> notation in ElementPath expressions.  However,
 advanced features like value comparison and functions are not
 available.</p>
-<p>In addition to a <a class="reference external" href="xpathxslt.html#xpath">full XPath implementation</a>, lxml.etree supports the
+<p>In addition to a <a class="reference external" href="xpathxslt.html#xpath">full XPath implementation</a>, <tt class="docutils literal">lxml.etree</tt> supports the
 ElementPath language in the same way ElementTree does, even using
 (almost) the same implementation.  The API provides four methods here
 that you can find on Elements and ElementTrees:</p>
@@ -1139,7 +1139,7 @@ expression for an Element:</p>
 <span class="go">True</span>
 </pre></div>
 <p>As long as the tree is not modified, this path expression represents an
-identifier for a given element that can be used to find() it in the same
+identifier for a given element that can be used to <tt class="docutils literal">find()</tt> it in the same
 tree later.  Compared to XPath, ElementPath expressions have the advantage
 of being self-contained even for documents that use namespaces.</p>
 <p>The <tt class="docutils literal">.iter()</tt> method is a special case that only finds specific tags
@@ -1158,7 +1158,7 @@ whereas the other two examples would raise a <tt class="docutils literal">StopIt
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index 51586ca34370c10cbe81513236ef8cecd2f57581..c1f9e5dcbed2a81c6a4a2bf256d3a0e0f6e481ce 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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
@@ -536,7 +536,7 @@ reporting during validation.</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index f8a4c69144e99d813f50c98f867b5d8ae018ccfc..83dce507ac57942b849a7a662e6d33515b4c8d90 100644 (file)
@@ -8,7 +8,7 @@
 </head>
 <body>
 <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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 0-menu"><li class="menu title"><a href="changes-3.4.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"><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#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-sources">Building lxml from 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#ms-windows">MS Windows</a></li><li class="menu item"><a href="installation.html#macos-x">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 4 1-menu"><li class="menu title"><a href="changes-3.4.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><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>
@@ -589,7 +589,7 @@ If you want to free it from memory, just do:</p>
 </div>
 <div class="footer">
 <hr class="footer" />
-Generated on: 2014-09-10.
+Generated on: 2014-11-20.
 
 </div>
 </body>
index f73a55faa5295dcbfcfd2299fd67af160f950340..48dde1167d364702a8ebcd4b18d5edf263ad6d4f 100644 (file)
@@ -157,8 +157,8 @@ Index <http://pypi.python.org/pypi/lxml/>`_ (PyPI).  It has the source
 that compiles on various platforms.  The source distribution is signed
 with `this key <pubkey.asc>`_.
 
-The latest version is `lxml 3.4.0`_, released 2014-09-10
-(`changes for 3.4.0`_).  `Older versions <#old-versions>`_
+The latest version is `lxml 3.4.1`_, released 2014-11-20
+(`changes for 3.4.1`_).  `Older versions <#old-versions>`_
 are listed below.
 
 Please take a look at the
@@ -233,15 +233,17 @@ See the web sites of lxml
 `1.3 <http://lxml.de/1.3/>`_,
 `2.0 <http://lxml.de/2.0/>`_,
 `2.1 <http://lxml.de/2.1/>`_,
-`2.2 <http://lxml.de/2.2/>`_
-`2.3 <http://lxml.de/2.3/>`_
-`3.0 <http://lxml.de/3.0/>`_
-`3.1 <http://lxml.de/3.1/>`_
-`3.2 <http://lxml.de/3.2/>`_
+`2.2 <http://lxml.de/2.2/>`_,
+`2.3 <http://lxml.de/2.3/>`_,
+`3.0 <http://lxml.de/3.0/>`_,
+`3.1 <http://lxml.de/3.1/>`_,
+`3.2 <http://lxml.de/3.2/>`_,
 `3.3 <http://lxml.de/3.3/>`_
 and the `latest in-development version <http://lxml.de/dev/>`_.
 
-.. _`PDF documentation`: lxmldoc-3.4.0.pdf
+.. _`PDF documentation`: lxmldoc-3.4.1.pdf
+
+* `lxml 3.4.1`_, released 2014-11-20 (`changes for 3.4.1`_)
 
 * `lxml 3.4.0`_, released 2014-09-10 (`changes for 3.4.0`_)
 
@@ -297,6 +299,7 @@ and the `latest in-development version <http://lxml.de/dev/>`_.
 
 * `older releases <http://lxml.de/3.0/#old-versions>`_
 
+.. _`lxml 3.4.1`: /files/lxml-3.4.1.tgz
 .. _`lxml 3.4.0`: /files/lxml-3.4.0.tgz
 .. _`lxml 3.4.0beta1`: /files/lxml-3.4.0beta1.tgz
 .. _`lxml 3.3.6`: /files/lxml-3.3.6.tgz
@@ -324,6 +327,7 @@ and the `latest in-development version <http://lxml.de/dev/>`_.
 .. _`lxml 3.0.1`: /files/lxml-3.0.1.tgz
 .. _`lxml 3.0`: /files/lxml-3.0.tgz
 
+.. _`changes for 3.4.1`: /changes-3.4.1.html
 .. _`changes for 3.4.0`: /changes-3.4.0.html
 .. _`changes for 3.4.0beta1`: /changes-3.4.0beta1.html
 .. _`changes for 3.3.6`: /changes-3.3.6.html
index a98bd5320c00afa9cb366a15b018e153912d7294..96e08c9bcb9b2f773aa1d236688f25b24c878588 100644 (file)
@@ -98,7 +98,7 @@ of) the following import chain as a fall-back to the original ElementTree:
               print("Failed to import ElementTree from any known place")
 
 To aid in writing portable code, this tutorial makes it clear in the examples
-which part of the presented API is an extension of lxml.etree over the
+which part of the presented API is an extension of ``lxml.etree`` over the
 original `ElementTree API`_, as defined by Fredrik Lundh's `ElementTree
 library`_.
 
@@ -268,7 +268,7 @@ copy operation as with lists.  The obvious drawback is that modifications
 to such an Element will apply to all places where it appears in a tree,
 which may or may not be intended.
 
-The upside of this difference is that an Element in lxml.etree always
+The upside of this difference is that an Element in ``lxml.etree`` always
 has exactly one parent, which can be queried through the ``getparent()``
 method.  This is not supported in the original ElementTree.
 
@@ -277,7 +277,7 @@ method.  This is not supported in the original ElementTree.
     >>> root is root[0].getparent()  # lxml.etree only!
     True
 
-If you want to *copy* an element to a different position in lxml.etree,
+If you want to *copy* an element to a different position in ``lxml.etree``,
 consider creating an independent *deep copy* using the ``copy`` module
 from Python's standard library:
 
@@ -605,7 +605,7 @@ make sure only Element objects are returned, you can pass the
 Note that passing a wildcard ``"*"`` tag name will also yield all
 ``Element`` nodes (and only elements).
 
-In lxml.etree, elements provide `further iterators`_ for all directions in the
+In ``lxml.etree``, elements provide `further iterators`_ for all directions in the
 tree: children, parents (or rather ancestors) and siblings.
 
 .. _`further iterators`: api.html#iteration
@@ -756,7 +756,7 @@ the root Element:
 
 This serialisation behaviour has changed in lxml 1.3.4.  Before,
 the tree was serialised without DTD content, which made lxml
-loose DTD information in an input-output cycle.
+lose DTD information in an input-output cycle.
 
 
 Parsing from strings and files
@@ -992,11 +992,11 @@ element, but you can control this through the ``events`` keyword argument:
       end,    a, data
       end, root, None
 
-Note that the text, tail and children of an Element are not necessarily there
+Note that the text, tail, and children of an Element are not necessarily present
 yet when receiving the ``start`` event.  Only the ``end`` event guarantees
 that the Element has been parsed completely.
 
-It also allows to ``.clear()`` or modify the content of an Element to
+It also allows you to ``.clear()`` or modify the content of an Element to
 save memory. So if you parse a large tree and you want to keep memory
 usage small, you should clean up parts of the tree that you no longer
 need:
@@ -1017,12 +1017,12 @@ need:
     None
     ** cleaning up the subtree
 
-A very important use cases for ``iterparse()`` is parsing large
+A very important use case for ``iterparse()`` is parsing large
 generated XML files, e.g. database dumps.  Most often, these XML
 formats only have one main data item element that hangs directly below
 the root node and that is repeated thousands of times.  In this case,
-it is best practice to let ``lxml.etree`` do the tree building and to
-only intercept exactly on this one Element, using the normal tree API
+it is best practice to let ``lxml.etree`` do the tree building and only to
+intercept on exactly this one Element, using the normal tree API
 for data extraction.
 
 .. sourcecode:: pycon
@@ -1075,7 +1075,7 @@ events are generated:
      * test = true
 
 You can reuse the parser and its target as often as you like, so you
-should take care that the ``.close()`` methods really resets the
+should take care that the ``.close()`` method really resets the
 target to a usable state (also in the case of an error!).
 
 .. sourcecode:: pycon
@@ -1103,7 +1103,7 @@ Namespaces
 
 The ElementTree API avoids
 `namespace prefixes <http://www.w3.org/TR/xml-names/#ns-qualnames>`_
-wherever possible and deploys the real namespaces (the URI) instead:
+wherever possible and deploys the real namespace (the URI) instead:
 
 .. sourcecode:: pycon
 
@@ -1206,8 +1206,8 @@ an Element, not only those that it defines itself.
 Therefore, modifying the returned dict cannot have any meaningful
 impact on the Element.  Any changes to it are ignored.
 
-Namespaces on attributes work alike, but as of version 2.3, lxml.etree
-will make sure that the attribute uses a prefixed namespace
+Namespaces on attributes work alike, but as of version 2.3, ``lxml.etree``
+will ensure that the attribute uses a prefixed namespace
 declaration.  This is because unprefixed attribute names are not
 considered being in a namespace by the XML namespace specification
 (`section 6.2`_), so they may end up loosing their namespace on a
@@ -1241,7 +1241,7 @@ You can also use XPath with fully qualified names:
     >>> print(results[0].tag)
     {http://www.w3.org/1999/xhtml}body
 
-For convenience, you can use ``"*"`` wildcards in all iterators of lxml.etree,
+For convenience, you can use ``"*"`` wildcards in all iterators of ``lxml.etree``,
 both for tag names and namespaces:
 
 .. sourcecode:: pycon
@@ -1314,7 +1314,7 @@ HTML:
       </body>
     </html>
 
-The Element creation based on attribute access makes it easy to build up a
+Element creation based on attribute access makes it easy to build up a
 simple vocabulary for an XML language:
 
 .. sourcecode:: pycon
@@ -1379,7 +1379,7 @@ available.
 .. _ElementPath: http://effbot.org/zone/element-xpath.htm
 .. _`full XPath implementation`: xpathxslt.html#xpath
 
-In addition to a `full XPath implementation`_, lxml.etree supports the
+In addition to a `full XPath implementation`_, ``lxml.etree`` supports the
 ElementPath language in the same way ElementTree does, even using
 (almost) the same implementation.  The API provides four methods here
 that you can find on Elements and ElementTrees:
@@ -1443,7 +1443,7 @@ expression for an Element:
     True
 
 As long as the tree is not modified, this path expression represents an
-identifier for a given element that can be used to find() it in the same
+identifier for a given element that can be used to ``find()`` it in the same
 tree later.  Compared to XPath, ElementPath expressions have the advantage
 of being self-contained even for documents that use namespaces.
 
index 4c8d3022dc665ab49bdf7fea9fa8bbc12b82a416..f06b3d080dea1c423df4e4785dcdd21f19f1026f 100644 (file)
@@ -39,7 +39,7 @@ def env_var(name):
         return []
 
 def ext_modules(static_include_dirs, static_library_dirs,
-                static_cflags, static_binaries): 
+                static_cflags, static_binaries):
     global XML2_CONFIG, XSLT_CONFIG
     if OPTION_BUILD_LIBXML2XSLT:
         from buildlibxml import build_libxml2xslt, get_prebuilt_libxml2xslt
@@ -90,11 +90,11 @@ def ext_modules(static_include_dirs, static_library_dirs,
     lib_versions = get_library_versions()
     versions_ok = True
     if lib_versions[0]:
-        print("Using build configuration of libxml2 %s and libxslt %s" % 
+        print("Using build configuration of libxml2 %s and libxslt %s" %
               lib_versions)
         versions_ok = check_min_version(lib_versions[0], (2, 7, 0), 'libxml2')
     else:
-        print("Using build configuration of libxslt %s" % 
+        print("Using build configuration of libxslt %s" %
               lib_versions[1])
     versions_ok |= check_min_version(lib_versions[1], (1, 1, 23), 'libxslt')
     if not versions_ok:
@@ -298,7 +298,7 @@ def check_min_version(version, min_version, error_name):
     min_version = tuple(min_version)
     if version < min_version:
         print("Minimum required version of %s is %s, found %s" % (
-            error_name, '.'.join(version), '.'.join(min_version)))
+            error_name, '.'.join(map(str, version)), '.'.join(map(str, min_version))))
         return False
     return True
 
index 3dbe44b2fb9cf383a6ec52aea527ce162ed52944..908e33c5bd5e11eb5be3046496989e0ecaa87be7 100644 (file)
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: lxml
-Version: 3.4.0
+Version: 3.4.1
 Summary: Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API.
 Home-page: http://lxml.de/
 Author: lxml dev team
 Author-email: lxml-dev@lxml.de
 License: UNKNOWN
-Download-URL: http://pypi.python.org/packages/source/l/lxml/lxml-3.4.0.tar.gz
+Download-URL: http://pypi.python.org/packages/source/l/lxml/lxml-3.4.1.tar.gz
 Description: lxml is a Pythonic, mature binding for the libxml2 and libxslt libraries.  It
         provides safe and convenient access to these libraries using the ElementTree
         API.
@@ -37,56 +37,19 @@ Description: lxml is a Pythonic, mature binding for the libxml2 and libxslt libr
         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.4.0 (2014-09-10)
+        3.4.1 (2014-11-20)
         ==================
         
         Features added
         --------------
         
-        * ``xmlfile(buffered=False)`` disables output buffering and flushes the
-          content after each API operation (starting/ending element blocks or writes).
-          A new method ``xf.flush()`` can alternatively be used to explicitly flush
-          the output.
-        
-        * ``lxml.html.document_fromstring`` has a new option ``ensure_head_body=True``
-          which will add an empty head and/or body element to the result document if
-          missing.
-        
-        * ``lxml.html.iterlinks`` now returns links inside meta refresh tags.
-        
-        * New ``XMLParser`` option ``collect_ids=False`` to disable ID hash table
-          creation.  This can substantially speed up parsing of documents with many
-          different IDs that are not used.
-        
-        * The parser uses per-document hash tables for XML IDs.  This reduces the
-          load of the global parser dict and speeds up parsing for documents with
-          many different IDs.
-        
-        * ``ElementTree.getelementpath(element)`` returns a structural ElementPath
-          expression for the given element, which can be used for lookups later.
-        
-        * ``xmlfile()`` accepts a new argument ``close=True`` to close file(-like)
-          objects after writing to them.  Before, ``xmlfile()`` only closed the file
-          if it had opened it internally.
-        
-        * Allow "bytearray" type for ASCII text input.
+        * New ``htmlfile`` HTML generator to accompany the incremental ``xmlfile``
+          serialisation API.  Patch by Burak Arslan.
         
         Bugs fixed
         ----------
         
-        Other changes
-        -------------
-        
-        * LP#400588: decoding errors have become hard errors even in recovery mode.
-          Previously, they could lead to an internal tree representation in a mixed
-          encoding state, which lead to very late errors or even silently incorrect
-          behaviour during tree traversal or serialisation.
-        
-        * Requires Python 2.6, 2.7, 3.2 or later. No longer supports
-          Python 2.4, 2.5 and 3.1, use lxml 3.3.x for those.
-        
-        * Requires libxml2 2.7.0 or later and libxslt 1.1.23 or later,
-          use lxml 3.3.x with older versions.
+        * ``lxml.sax.ElementTreeContentHandler`` did not initialise its superclass.
         
         
         
index 07a08e029153582495ceeed941c76c96a97f6935..8f1752ee079374326c9d1627d45df3e79c0e6b4f 100644 (file)
@@ -60,7 +60,7 @@ doc/html/FAQ.html
 doc/html/api.html
 doc/html/build.html
 doc/html/capi.html
-doc/html/changes-3.4.0.html
+doc/html/changes-3.4.1.html
 doc/html/compatibility.html
 doc/html/credits.html
 doc/html/cssselect.html
@@ -249,6 +249,7 @@ doc/html/api/lxml.etree._Validator-class.html
 doc/html/api/lxml.etree._XPathEvaluatorBase-class.html
 doc/html/api/lxml.etree._XSLTProcessingInstruction-class.html
 doc/html/api/lxml.etree._XSLTResultTree-class.html
+doc/html/api/lxml.etree.htmlfile-class.html
 doc/html/api/lxml.etree.iterparse-class.html
 doc/html/api/lxml.etree.iterwalk-class.html
 doc/html/api/lxml.etree.xmlfile-class.html
@@ -391,6 +392,7 @@ doc/html/api/lxml.tests.test_http_io.HttpIOTestCase-class.html
 doc/html/api/lxml.tests.test_incremental_xmlfile-module.html
 doc/html/api/lxml.tests.test_incremental_xmlfile-pysrc.html
 doc/html/api/lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase-class.html
+doc/html/api/lxml.tests.test_incremental_xmlfile.HtmlFileTestCase-class.html
 doc/html/api/lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase-class.html
 doc/html/api/lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike-class.html
 doc/html/api/lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase-class.html
index 2a59770478a18d0d35aff2ef18b89453c07ccc2c..bd6291265d7483e9916bf9dabd16b23e4dd55b45 100644 (file)
@@ -1,3 +1,3 @@
 #ifndef LXML_VERSION_STRING
-#define LXML_VERSION_STRING "3.4.0"
+#define LXML_VERSION_STRING "3.4.1"
 #endif
index 887dc7d32c0a99f6d67f99b64ec8907cda75f6a7..4045c921513ccbb9658d41e9d83fbf2ceb6a28e3 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.21 */
+/* Generated by Cython 0.21.1 */
 
 #define PY_SSIZE_T_CLEAN
 #ifndef CYTHON_USE_PYLONG_INTERNALS
@@ -19,7 +19,7 @@
 #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_21"
+#define CYTHON_ABI "0_21_1"
 #include <stddef.h>
 #ifndef offsetof
 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
@@ -73,8 +73,6 @@
 #if PY_MAJOR_VERSION >= 3
   #define Py_TPFLAGS_CHECKTYPES 0
   #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if PY_MAJOR_VERSION >= 3
   #define Py_TPFLAGS_HAVE_NEWBUFFER 0
 #endif
 #if PY_VERSION_HEX < 0x030400a1 && !defined(Py_TPFLAGS_HAVE_FINALIZE)
 #if CYTHON_COMPILING_IN_PYPY
   #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
   #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
+  #define __Pyx_PyFrozenSet_Size(s)         PyObject_Size(s)
 #else
   #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
   #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ? \
       PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
+  #define __Pyx_PyFrozenSet_Size(s)         PySet_Size(s)
 #endif
 #define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
 #define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
 #if PY_MAJOR_VERSION >= 3
   #define PyBoolObject                 PyLongObject
 #endif
+#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
+  #ifndef PyUnicode_InternFromString
+    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
+  #endif
+#endif
 #if PY_VERSION_HEX < 0x030200A4
   typedef long Py_hash_t;
   #define __Pyx_PyInt_FromHash_t PyInt_FromLong
   #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
 #endif
 #if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
+  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
+#else
+  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
 #endif
 #ifndef CYTHON_INLINE
   #if defined(__GNUC__)
@@ -561,6 +568,7 @@ struct __pyx_obj_4lxml_5etree__PythonSaxParserTarget;
 struct __pyx_obj_4lxml_5etree__TargetParserContext;
 struct __pyx_obj_4lxml_5etree__FilelikeWriter;
 struct __pyx_obj_4lxml_5etree_xmlfile;
+struct __pyx_obj_4lxml_5etree_htmlfile;
 struct __pyx_obj_4lxml_5etree__IncrementalFileWriter;
 struct __pyx_obj_4lxml_5etree__FileWriterElement;
 struct __pyx_obj_4lxml_5etree_iterparse;
@@ -661,7 +669,7 @@ enum __pyx_t_4lxml_5etree__OutputMethods {
   __pyx_e_4lxml_5etree_OUTPUT_METHOD_TEXT
 };
 
-/* "src/lxml/serializer.pxi":671
+/* "src/lxml/serializer.pxi":684
  * 
  * 
  * cdef enum _IncrementalFileWriterStatus:             # <<<<<<<<<<<<<<
@@ -1898,10 +1906,23 @@ struct __pyx_obj_4lxml_5etree_xmlfile {
   int compresslevel;
   int close;
   int buffered;
+  int method;
 };
 
 
-/* "src/lxml/serializer.pxi":681
+/* "src/lxml/serializer.pxi":673
+ * 
+ * 
+ * cdef class htmlfile(xmlfile):             # <<<<<<<<<<<<<<
+ *     """htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)
+ * 
+ */
+struct __pyx_obj_4lxml_5etree_htmlfile {
+  struct __pyx_obj_4lxml_5etree_xmlfile __pyx_base;
+};
+
+
+/* "src/lxml/serializer.pxi":694
  * @cython.final
  * @cython.internal
  * cdef class _IncrementalFileWriter:             # <<<<<<<<<<<<<<
@@ -1917,11 +1938,12 @@ struct __pyx_obj_4lxml_5etree__IncrementalFileWriter {
   struct __pyx_obj_4lxml_5etree__FilelikeWriter *_target;
   PyObject *_element_stack;
   int _status;
+  int _method;
   int _buffered;
 };
 
 
-/* "src/lxml/serializer.pxi":937
+/* "src/lxml/serializer.pxi":957
  * @cython.internal
  * @cython.freelist(8)
  * cdef class _FileWriterElement:             # <<<<<<<<<<<<<<
@@ -3574,7 +3596,7 @@ static int __pyx_f_4lxml_5etree_15_FilelikeWriter_write(struct __pyx_obj_4lxml_5
 static int __pyx_f_4lxml_5etree_15_FilelikeWriter_close(struct __pyx_obj_4lxml_5etree__FilelikeWriter *);
 
 
-/* "src/lxml/serializer.pxi":681
+/* "src/lxml/serializer.pxi":694
  * @cython.final
  * @cython.internal
  * cdef class _IncrementalFileWriter:             # <<<<<<<<<<<<<<
@@ -4867,6 +4889,7 @@ static PyTypeObject *__pyx_ptype_4lxml_5etree_TreeBuilder = 0;
 static PyTypeObject *__pyx_ptype_4lxml_5etree__PythonSaxParserTarget = 0;
 static PyTypeObject *__pyx_ptype_4lxml_5etree__FilelikeWriter = 0;
 static PyTypeObject *__pyx_ptype_4lxml_5etree_xmlfile = 0;
+static PyTypeObject *__pyx_ptype_4lxml_5etree_htmlfile = 0;
 static PyTypeObject *__pyx_ptype_4lxml_5etree__IncrementalFileWriter = 0;
 static PyTypeObject *__pyx_ptype_4lxml_5etree__FileWriterElement = 0;
 static PyTypeObject *__pyx_ptype_4lxml_5etree_iterparse = 0;
@@ -5671,7 +5694,8 @@ static int __pyx_pf_4lxml_5etree_15_FilelikeWriter___cinit__(struct __pyx_obj_4l
 static int __pyx_pf_4lxml_5etree_7xmlfile___init__(struct __pyx_obj_4lxml_5etree_xmlfile *__pyx_v_self, PyObject *__pyx_v_output_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_compression, PyObject *__pyx_v_close, PyObject *__pyx_v_buffered); /* proto */
 static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_2__enter__(struct __pyx_obj_4lxml_5etree_xmlfile *__pyx_v_self); /* proto */
 static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml_5etree_xmlfile *__pyx_v_self, PyObject *__pyx_v_exc_type, CYTHON_UNUSED PyObject *__pyx_v_exc_val, CYTHON_UNUSED PyObject *__pyx_v_exc_tb); /* proto */
-static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self, PyObject *__pyx_v_outfile, PyObject *__pyx_v_encoding, int __pyx_v_compresslevel, int __pyx_v_close, int __pyx_v_buffered); /* proto */
+static int __pyx_pf_4lxml_5etree_8htmlfile___init__(struct __pyx_obj_4lxml_5etree_htmlfile *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs); /* proto */
+static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self, PyObject *__pyx_v_outfile, PyObject *__pyx_v_encoding, int __pyx_v_compresslevel, int __pyx_v_close, int __pyx_v_buffered, int __pyx_v_method); /* proto */
 static void __pyx_pf_4lxml_5etree_22_IncrementalFileWriter_2__dealloc__(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self); /* proto */
 static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declaration(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self, PyObject *__pyx_v_version, PyObject *__pyx_v_standalone, PyObject *__pyx_v_doctype); /* proto */
 static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self, PyObject *__pyx_v_doctype); /* proto */
@@ -5928,6 +5952,7 @@ static PyObject *__pyx_tp_new_4lxml_5etree_TreeBuilder(PyTypeObject *t, PyObject
 static PyObject *__pyx_tp_new_4lxml_5etree__PythonSaxParserTarget(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 static PyObject *__pyx_tp_new_4lxml_5etree__FilelikeWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 static PyObject *__pyx_tp_new_4lxml_5etree_xmlfile(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
+static PyObject *__pyx_tp_new_4lxml_5etree_htmlfile(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 static PyObject *__pyx_tp_new_4lxml_5etree__IncrementalFileWriter(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 static PyObject *__pyx_tp_new_4lxml_5etree__FileWriterElement(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
 static PyObject *__pyx_tp_new_4lxml_5etree_iterparse(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
@@ -6009,12 +6034,12 @@ static char __pyx_k__54[] = "\"";
 static char __pyx_k__55[] = ">\n";
 static char __pyx_k__56[] = " [\n";
 static char __pyx_k__57[] = "]>\n";
-static char __pyx_k__61[] = ":";
-static char __pyx_k__63[] = "<";
-static char __pyx_k__64[] = ">";
-static char __pyx_k__65[] = "=\"";
-static char __pyx_k__71[] = "</";
-static char __pyx_k__92[] = ", ";
+static char __pyx_k__62[] = ":";
+static char __pyx_k__64[] = "<";
+static char __pyx_k__65[] = ">";
+static char __pyx_k__66[] = "=\"";
+static char __pyx_k__72[] = "</";
+static char __pyx_k__93[] = ", ";
 static char __pyx_k_add[] = "add";
 static char __pyx_k_all[] = "__all__";
 static char __pyx_k_any[] = "any";
@@ -6048,8 +6073,8 @@ static char __pyx_k_xsl[] = "xsl";
 static char __pyx_k_HTML[] = "HTML";
 static char __pyx_k_UTF8[] = "UTF8";
 static char __pyx_k_XSLT[] = "XSLT";
-static char __pyx_k__198[] = "(\"[^\"]*\")|('[^']*')";
-static char __pyx_k__200[] = "({[^}]+})";
+static char __pyx_k__199[] = "(\"[^\"]*\")|('[^']*')";
+static char __pyx_k__201[] = "({[^}]+})";
 static char __pyx_k_args[] = "args";
 static char __pyx_k_beta[] = "beta";
 static char __pyx_k_c14n[] = "c14n";
@@ -6923,6 +6948,7 @@ static char __pyx_k_http_www_w3_org_1999_XSL_Transfo[] = "http://www.w3.org/1999
 static char __pyx_k_http_www_w3_org_2001_XMLSchema_i[] = "http://www.w3.org/2001/XMLSchema-instance";
 static char __pyx_k_http_www_w3_org_XML_1998_namespa[] = "http://www.w3.org/XML/1998/namespace";
 static char __pyx_k_inconsistent_exit_action_in_cont[] = "inconsistent exit action in context manager";
+static char __pyx_k_only_XML_documents_have_declarat[] = "only XML documents have declarations";
 static char __pyx_k_passing_a_single_string_into_fro[] = "passing a single string into fromstringlist() is not efficient, use fromstring() instead";
 static char __pyx_k_pop_expected_at_most_2_arguments[] = "pop expected at most 2 arguments, got %d";
 static char __pyx_k_reading_file_objects_must_return[] = "reading file objects must return bytes objects";
@@ -7301,8 +7327,8 @@ 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__198;
-static PyObject *__pyx_kp_b__200;
+static PyObject *__pyx_kp_b__199;
+static PyObject *__pyx_kp_b__201;
 static PyObject *__pyx_kp_s__22;
 static PyObject *__pyx_kp_u__22;
 static PyObject *__pyx_kp_b__25;
@@ -7320,9 +7346,9 @@ static PyObject *__pyx_kp_u__4;
 static PyObject *__pyx_n_s__47;
 static PyObject *__pyx_n_u__47;
 static PyObject *__pyx_kp_u__54;
-static PyObject *__pyx_kp_b__61;
-static PyObject *__pyx_kp_u__64;
-static PyObject *__pyx_kp_u__92;
+static PyObject *__pyx_kp_b__62;
+static PyObject *__pyx_kp_u__65;
+static PyObject *__pyx_kp_u__93;
 static PyObject *__pyx_n_s_abspath;
 static PyObject *__pyx_n_s_accepted_domains;
 static PyObject *__pyx_n_s_access_control;
@@ -7675,6 +7701,7 @@ static PyObject *__pyx_n_s_object;
 static PyObject *__pyx_n_s_occur;
 static PyObject *__pyx_n_s_old_element;
 static PyObject *__pyx_n_s_once;
+static PyObject *__pyx_kp_s_only_XML_documents_have_declarat;
 static PyObject *__pyx_kp_u_only_setting_the_href_attribute;
 static PyObject *__pyx_n_s_open;
 static PyObject *__pyx_n_s_opt;
@@ -7918,12 +7945,12 @@ static PyObject *__pyx_slice__33;
 static PyObject *__pyx_slice__34;
 static PyObject *__pyx_slice__44;
 static PyObject *__pyx_slice__46;
-static PyObject *__pyx_slice__67;
 static PyObject *__pyx_slice__68;
-static PyObject *__pyx_slice__70;
-static PyObject *__pyx_slice__85;
+static PyObject *__pyx_slice__69;
+static PyObject *__pyx_slice__71;
 static PyObject *__pyx_slice__86;
-static PyObject *__pyx_slice__90;
+static PyObject *__pyx_slice__87;
+static PyObject *__pyx_slice__91;
 static PyObject *__pyx_tuple__10;
 static PyObject *__pyx_tuple__12;
 static PyObject *__pyx_tuple__16;
@@ -7952,10 +7979,10 @@ static PyObject *__pyx_tuple__51;
 static PyObject *__pyx_tuple__58;
 static PyObject *__pyx_tuple__59;
 static PyObject *__pyx_tuple__60;
-static PyObject *__pyx_tuple__62;
-static PyObject *__pyx_tuple__66;
-static PyObject *__pyx_tuple__69;
-static PyObject *__pyx_tuple__72;
+static PyObject *__pyx_tuple__61;
+static PyObject *__pyx_tuple__63;
+static PyObject *__pyx_tuple__67;
+static PyObject *__pyx_tuple__70;
 static PyObject *__pyx_tuple__73;
 static PyObject *__pyx_tuple__74;
 static PyObject *__pyx_tuple__75;
@@ -7968,11 +7995,11 @@ static PyObject *__pyx_tuple__81;
 static PyObject *__pyx_tuple__82;
 static PyObject *__pyx_tuple__83;
 static PyObject *__pyx_tuple__84;
-static PyObject *__pyx_tuple__87;
+static PyObject *__pyx_tuple__85;
 static PyObject *__pyx_tuple__88;
 static PyObject *__pyx_tuple__89;
-static PyObject *__pyx_tuple__91;
-static PyObject *__pyx_tuple__93;
+static PyObject *__pyx_tuple__90;
+static PyObject *__pyx_tuple__92;
 static PyObject *__pyx_tuple__94;
 static PyObject *__pyx_tuple__95;
 static PyObject *__pyx_tuple__96;
@@ -7985,106 +8012,107 @@ static PyObject *__pyx_tuple__102;
 static PyObject *__pyx_tuple__103;
 static PyObject *__pyx_tuple__104;
 static PyObject *__pyx_tuple__105;
-static PyObject *__pyx_tuple__107;
-static PyObject *__pyx_tuple__109;
-static PyObject *__pyx_tuple__111;
-static PyObject *__pyx_tuple__113;
-static PyObject *__pyx_tuple__115;
-static PyObject *__pyx_tuple__117;
+static PyObject *__pyx_tuple__106;
+static PyObject *__pyx_tuple__108;
+static PyObject *__pyx_tuple__110;
+static PyObject *__pyx_tuple__112;
+static PyObject *__pyx_tuple__114;
+static PyObject *__pyx_tuple__116;
 static PyObject *__pyx_tuple__118;
 static PyObject *__pyx_tuple__119;
-static PyObject *__pyx_tuple__121;
-static PyObject *__pyx_tuple__123;
+static PyObject *__pyx_tuple__120;
+static PyObject *__pyx_tuple__122;
 static PyObject *__pyx_tuple__124;
-static PyObject *__pyx_tuple__126;
+static PyObject *__pyx_tuple__125;
 static PyObject *__pyx_tuple__127;
-static PyObject *__pyx_tuple__129;
+static PyObject *__pyx_tuple__128;
 static PyObject *__pyx_tuple__130;
 static PyObject *__pyx_tuple__131;
 static PyObject *__pyx_tuple__132;
 static PyObject *__pyx_tuple__133;
-static PyObject *__pyx_tuple__135;
-static PyObject *__pyx_tuple__137;
-static PyObject *__pyx_tuple__139;
-static PyObject *__pyx_tuple__141;
-static PyObject *__pyx_tuple__143;
-static PyObject *__pyx_tuple__145;
-static PyObject *__pyx_tuple__147;
-static PyObject *__pyx_tuple__149;
-static PyObject *__pyx_tuple__151;
-static PyObject *__pyx_tuple__153;
-static PyObject *__pyx_tuple__155;
-static PyObject *__pyx_tuple__157;
-static PyObject *__pyx_tuple__159;
-static PyObject *__pyx_tuple__161;
-static PyObject *__pyx_tuple__163;
-static PyObject *__pyx_tuple__165;
-static PyObject *__pyx_tuple__167;
-static PyObject *__pyx_tuple__169;
-static PyObject *__pyx_tuple__171;
-static PyObject *__pyx_tuple__174;
+static PyObject *__pyx_tuple__134;
+static PyObject *__pyx_tuple__136;
+static PyObject *__pyx_tuple__138;
+static PyObject *__pyx_tuple__140;
+static PyObject *__pyx_tuple__142;
+static PyObject *__pyx_tuple__144;
+static PyObject *__pyx_tuple__146;
+static PyObject *__pyx_tuple__148;
+static PyObject *__pyx_tuple__150;
+static PyObject *__pyx_tuple__152;
+static PyObject *__pyx_tuple__154;
+static PyObject *__pyx_tuple__156;
+static PyObject *__pyx_tuple__158;
+static PyObject *__pyx_tuple__160;
+static PyObject *__pyx_tuple__162;
+static PyObject *__pyx_tuple__164;
+static PyObject *__pyx_tuple__166;
+static PyObject *__pyx_tuple__168;
+static PyObject *__pyx_tuple__170;
+static PyObject *__pyx_tuple__172;
 static PyObject *__pyx_tuple__175;
-static PyObject *__pyx_tuple__177;
-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__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__192;
-static PyObject *__pyx_tuple__194;
-static PyObject *__pyx_tuple__196;
-static PyObject *__pyx_tuple__199;
-static PyObject *__pyx_tuple__201;
+static PyObject *__pyx_tuple__193;
+static PyObject *__pyx_tuple__195;
+static PyObject *__pyx_tuple__197;
+static PyObject *__pyx_tuple__200;
 static PyObject *__pyx_tuple__202;
-static PyObject *__pyx_tuple__204;
-static PyObject *__pyx_tuple__206;
+static PyObject *__pyx_tuple__203;
+static PyObject *__pyx_tuple__205;
 static PyObject *__pyx_tuple__207;
-static PyObject *__pyx_codeobj__106;
-static PyObject *__pyx_codeobj__108;
-static PyObject *__pyx_codeobj__110;
-static PyObject *__pyx_codeobj__112;
-static PyObject *__pyx_codeobj__114;
-static PyObject *__pyx_codeobj__116;
-static PyObject *__pyx_codeobj__120;
-static PyObject *__pyx_codeobj__122;
-static PyObject *__pyx_codeobj__125;
-static PyObject *__pyx_codeobj__128;
-static PyObject *__pyx_codeobj__134;
-static PyObject *__pyx_codeobj__136;
-static PyObject *__pyx_codeobj__138;
-static PyObject *__pyx_codeobj__140;
-static PyObject *__pyx_codeobj__142;
-static PyObject *__pyx_codeobj__144;
-static PyObject *__pyx_codeobj__146;
-static PyObject *__pyx_codeobj__148;
-static PyObject *__pyx_codeobj__150;
-static PyObject *__pyx_codeobj__152;
-static PyObject *__pyx_codeobj__154;
-static PyObject *__pyx_codeobj__156;
-static PyObject *__pyx_codeobj__158;
-static PyObject *__pyx_codeobj__160;
-static PyObject *__pyx_codeobj__162;
-static PyObject *__pyx_codeobj__164;
-static PyObject *__pyx_codeobj__166;
-static PyObject *__pyx_codeobj__168;
-static PyObject *__pyx_codeobj__170;
-static PyObject *__pyx_codeobj__172;
+static PyObject *__pyx_tuple__208;
+static PyObject *__pyx_codeobj__107;
+static PyObject *__pyx_codeobj__109;
+static PyObject *__pyx_codeobj__111;
+static PyObject *__pyx_codeobj__113;
+static PyObject *__pyx_codeobj__115;
+static PyObject *__pyx_codeobj__117;
+static PyObject *__pyx_codeobj__121;
+static PyObject *__pyx_codeobj__123;
+static PyObject *__pyx_codeobj__126;
+static PyObject *__pyx_codeobj__129;
+static PyObject *__pyx_codeobj__135;
+static PyObject *__pyx_codeobj__137;
+static PyObject *__pyx_codeobj__139;
+static PyObject *__pyx_codeobj__141;
+static PyObject *__pyx_codeobj__143;
+static PyObject *__pyx_codeobj__145;
+static PyObject *__pyx_codeobj__147;
+static PyObject *__pyx_codeobj__149;
+static PyObject *__pyx_codeobj__151;
+static PyObject *__pyx_codeobj__153;
+static PyObject *__pyx_codeobj__155;
+static PyObject *__pyx_codeobj__157;
+static PyObject *__pyx_codeobj__159;
+static PyObject *__pyx_codeobj__161;
+static PyObject *__pyx_codeobj__163;
+static PyObject *__pyx_codeobj__165;
+static PyObject *__pyx_codeobj__167;
+static PyObject *__pyx_codeobj__169;
+static PyObject *__pyx_codeobj__171;
 static PyObject *__pyx_codeobj__173;
-static PyObject *__pyx_codeobj__176;
-static PyObject *__pyx_codeobj__178;
-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__195;
-static PyObject *__pyx_codeobj__197;
-static PyObject *__pyx_codeobj__203;
-static PyObject *__pyx_codeobj__205;
+static PyObject *__pyx_codeobj__174;
+static PyObject *__pyx_codeobj__177;
+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__191;
+static PyObject *__pyx_codeobj__194;
+static PyObject *__pyx_codeobj__196;
+static PyObject *__pyx_codeobj__198;
+static PyObject *__pyx_codeobj__204;
+static PyObject *__pyx_codeobj__206;
 
 /* "src/lxml/lxml.etree.pyx":103
  * 
@@ -8892,12 +8920,10 @@ static PyObject *__pyx_pf_4lxml_5etree_register_namespace(CYTHON_UNUSED PyObject
  */
     __pyx_t_10 = (__Pyx_PyBytes_Equals(__pyx_v_k, __pyx_v_uri_utf, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_10) {
-      goto __pyx_L10_next_or;
     } else {
       __pyx_t_5 = __pyx_t_10;
       goto __pyx_L9_bool_binop_done;
     }
-    __pyx_L10_next_or:;
     __pyx_t_10 = (__Pyx_PyBytes_Equals(__pyx_v_v, __pyx_v_prefix_utf, Py_EQ)); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 194; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_5 = __pyx_t_10;
     __pyx_L9_bool_binop_done:;
@@ -10256,12 +10282,10 @@ static int __pyx_f_4lxml_5etree_17_ExceptionContext__raise_if_stored(struct __py
   __pyx_t_1 = (__pyx_v_value == Py_None);
   __pyx_t_9 = (__pyx_t_1 != 0);
   if (__pyx_t_9) {
-    goto __pyx_L8_next_and;
   } else {
     __pyx_t_2 = __pyx_t_9;
     goto __pyx_L7_bool_binop_done;
   }
-  __pyx_L8_next_and:;
   __pyx_t_9 = (__pyx_v_traceback == Py_None);
   __pyx_t_1 = (__pyx_t_9 != 0);
   __pyx_t_2 = __pyx_t_1;
@@ -10344,12 +10368,10 @@ static CYTHON_INLINE struct LxmlElement *__pyx_f_4lxml_5etree_getProxy(xmlNode *
  */
   __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_c_node->_private != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -10939,20 +10961,16 @@ static xmlDoc *__pyx_f_4lxml_5etree__plainFakeRootDoc(xmlDoc *__pyx_v_c_base_doc
  */
   __pyx_t_2 = (__pyx_v_with_siblings != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = ((__pyx_v_c_node->prev == NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_2 = ((__pyx_v_c_node->next == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -11653,12 +11671,10 @@ static xmlNode *__pyx_f_4lxml_5etree_getDeallocationTop(xmlNode *__pyx_v_c_node)
  */
       __pyx_t_3 = (__pyx_f_4lxml_5etree_hasProxy(__pyx_v_c_next) != 0);
       if (!__pyx_t_3) {
-        goto __pyx_L13_next_or;
       } else {
         __pyx_t_1 = __pyx_t_3;
         goto __pyx_L12_bool_binop_done;
       }
-      __pyx_L13_next_or:;
       __pyx_t_3 = ((!(__pyx_f_4lxml_5etree_canDeallocateChildNodes(__pyx_v_c_next) != 0)) != 0);
       __pyx_t_1 = __pyx_t_3;
       __pyx_L12_bool_binop_done:;
@@ -11729,12 +11745,10 @@ static xmlNode *__pyx_f_4lxml_5etree_getDeallocationTop(xmlNode *__pyx_v_c_node)
  */
       __pyx_t_3 = (__pyx_f_4lxml_5etree_hasProxy(__pyx_v_c_next) != 0);
       if (!__pyx_t_3) {
-        goto __pyx_L19_next_or;
       } else {
         __pyx_t_1 = __pyx_t_3;
         goto __pyx_L18_bool_binop_done;
       }
-      __pyx_L19_next_or:;
       __pyx_t_3 = ((!(__pyx_f_4lxml_5etree_canDeallocateChildNodes(__pyx_v_c_next) != 0)) != 0);
       __pyx_t_1 = __pyx_t_3;
       __pyx_L18_bool_binop_done:;
@@ -11914,20 +11928,16 @@ static void __pyx_f_4lxml_5etree__copyParentNamespaces(xmlNode *__pyx_v_c_from_n
   while (1) {
     __pyx_t_3 = (__pyx_v_c_parent != 0);
     if (__pyx_t_3) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_3 = (_isElementOrXInclude(__pyx_v_c_parent) != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L7_next_or;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L7_next_or:;
 
     /* "src/lxml/proxy.pxi":225
  *     c_parent = c_from_node.parent
@@ -12665,12 +12675,10 @@ static int __pyx_f_4lxml_5etree_moveNodeToDocument(struct LxmlDocument *__pyx_v_
  */
             __pyx_t_5 = ((__pyx_v_c_node->type == XML_ATTRIBUTE_NODE) != 0);
             if (__pyx_t_5) {
-              goto __pyx_L15_next_and;
             } else {
               __pyx_t_1 = __pyx_t_5;
               goto __pyx_L14_bool_binop_done;
             }
-            __pyx_L15_next_and:;
 
             /* "src/lxml/proxy.pxi":367
  *                     if c_node.ns is c_ns_cache.old[i]:
@@ -12681,12 +12689,10 @@ static int __pyx_f_4lxml_5etree_moveNodeToDocument(struct LxmlDocument *__pyx_v_
  */
             __pyx_t_5 = (__pyx_v_c_node->ns->prefix != 0);
             if (__pyx_t_5) {
-              goto __pyx_L16_next_and;
             } else {
               __pyx_t_1 = __pyx_t_5;
               goto __pyx_L14_bool_binop_done;
             }
-            __pyx_L16_next_and:;
 
             /* "src/lxml/proxy.pxi":368
  *                         if (c_node.type == tree.XML_ATTRIBUTE_NODE
@@ -12930,12 +12936,10 @@ static int __pyx_f_4lxml_5etree_moveNodeToDocument(struct LxmlDocument *__pyx_v_
  */
     __pyx_t_5 = ((__pyx_v_proxy_count == 1) != 0);
     if (__pyx_t_5) {
-      goto __pyx_L26_next_and;
     } else {
       __pyx_t_1 = __pyx_t_5;
       goto __pyx_L25_bool_binop_done;
     }
-    __pyx_L26_next_and:;
     __pyx_t_5 = ((__pyx_v_c_start_node->_private != NULL) != 0);
     __pyx_t_1 = __pyx_t_5;
     __pyx_L25_bool_binop_done:;
@@ -13622,12 +13626,10 @@ static CYTHON_INLINE void __pyx_f_4lxml_5etree_fixThreadDictNameForNode(xmlNode
  */
   __pyx_t_3 = ((__pyx_v_c_name != NULL) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
 
   /* "src/lxml/proxy.pxi":488
  *     cdef const_xmlChar* c_name = c_node.name
@@ -13744,12 +13746,10 @@ static CYTHON_INLINE void __pyx_f_4lxml_5etree_fixThreadDictContentForNode(xmlNo
  */
   __pyx_t_2 = ((__pyx_v_c_node->content != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
 
   /* "src/lxml/proxy.pxi":500
  *                                              tree.xmlDict* c_dict) nogil:
@@ -14584,20 +14584,16 @@ static struct LxmlElement *__pyx_f_4lxml_5etree__rootNodeOrRaise(PyObject *__pyx
   __pyx_t_1 = (((PyObject *)__pyx_v_node) == Py_None);
   __pyx_t_6 = (__pyx_t_1 != 0);
   if (!__pyx_t_6) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_2 = __pyx_t_6;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_6 = ((!(__pyx_v_node->_c_node != 0)) != 0);
   if (!__pyx_t_6) {
-    goto __pyx_L7_next_or;
   } else {
     __pyx_t_2 = __pyx_t_6;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L7_next_or:;
 
   /* "src/lxml/apihelpers.pxi":71
  *             python._fqtypename(input).decode('utf8')
@@ -14868,12 +14864,10 @@ static struct LxmlElement *__pyx_f_4lxml_5etree__makeElement(PyObject *__pyx_v_t
   __pyx_t_1 = (((PyObject *)__pyx_v_parser) != Py_None);
   __pyx_t_7 = (__pyx_t_1 != 0);
   if (__pyx_t_7) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_7;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_7 = (__pyx_v_parser->_for_html != 0);
   __pyx_t_2 = __pyx_t_7;
   __pyx_L5_bool_binop_done:;
@@ -14978,12 +14972,10 @@ static struct LxmlElement *__pyx_f_4lxml_5etree__makeElement(PyObject *__pyx_v_t
     __pyx_t_7 = (((PyObject *)__pyx_v_doc) == Py_None);
     __pyx_t_1 = (__pyx_t_7 != 0);
     if (__pyx_t_1) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
     __pyx_t_1 = ((__pyx_v_c_doc != NULL) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L11_bool_binop_done:;
@@ -15563,12 +15555,10 @@ static struct LxmlElement *__pyx_f_4lxml_5etree__makeSubElement(struct LxmlEleme
   __pyx_t_2 = (((PyObject *)__pyx_v_parent) == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = (((PyObject *)__pyx_v_parent->_doc) == Py_None);
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -15658,12 +15648,10 @@ static struct LxmlElement *__pyx_f_4lxml_5etree__makeSubElement(struct LxmlEleme
   __pyx_t_2 = (((PyObject *)__pyx_v_parent->_doc->_parser) != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L8_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L7_bool_binop_done;
   }
-  __pyx_L8_next_and:;
   __pyx_t_3 = (__pyx_v_parent->_doc->_parser->_for_html != 0);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L7_bool_binop_done:;
@@ -16057,12 +16045,10 @@ static int __pyx_f_4lxml_5etree__initNodeNamespaces(xmlNode *__pyx_v_c_node, str
   __pyx_t_2 = (__Pyx_PySequence_Contains(Py_None, __pyx_v_nsmap, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_7 = (__pyx_t_2 != 0);
   if (__pyx_t_7) {
-    goto __pyx_L7_next_and;
   } else {
     __pyx_t_1 = __pyx_t_7;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L7_next_and:;
   __pyx_t_8 = PyList_GET_SIZE(__pyx_v_nsdefs); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 226; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_7 = ((__pyx_t_8 > 1) != 0);
   __pyx_t_1 = __pyx_t_7;
@@ -16310,12 +16296,10 @@ static int __pyx_f_4lxml_5etree__initNodeNamespaces(xmlNode *__pyx_v_c_node, str
  */
     __pyx_t_1 = ((__pyx_v_c_ns == NULL) != 0);
     if (!__pyx_t_1) {
-      goto __pyx_L15_next_or;
     } else {
       __pyx_t_7 = __pyx_t_1;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L15_next_or:;
 
     /* "src/lxml/apihelpers.pxi":250
  *         c_ns = tree.xmlSearchNs(doc._c_doc, c_node, c_prefix)
@@ -16326,12 +16310,10 @@ static int __pyx_f_4lxml_5etree__initNodeNamespaces(xmlNode *__pyx_v_c_node, str
  */
     __pyx_t_1 = ((__pyx_v_c_ns->href == NULL) != 0);
     if (!__pyx_t_1) {
-      goto __pyx_L16_next_or;
     } else {
       __pyx_t_7 = __pyx_t_1;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L16_next_or:;
 
     /* "src/lxml/apihelpers.pxi":251
  *         if c_ns is NULL or \
@@ -16505,12 +16487,10 @@ static PyObject *__pyx_f_4lxml_5etree__initNodeAttributes(xmlNode *__pyx_v_c_nod
   __pyx_t_2 = (__pyx_v_attrib != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = PyObject_HasAttr(__pyx_v_attrib, __pyx_n_u_items); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 266; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = ((!(__pyx_t_3 != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -16553,12 +16533,10 @@ static PyObject *__pyx_f_4lxml_5etree__initNodeAttributes(xmlNode *__pyx_v_c_nod
   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_attrib); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = ((!__pyx_t_2) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L8_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L7_bool_binop_done;
   }
-  __pyx_L8_next_and:;
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_extra); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 269; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = ((!__pyx_t_3) != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -16816,12 +16794,10 @@ static PyObject *__pyx_f_4lxml_5etree__initNodeAttributes(xmlNode *__pyx_v_c_nod
     __pyx_t_1 = __Pyx_TypeCheck(__pyx_v_attrib, ((PyObject*)__pyx_ptype_4lxml_5etree__Attrib)); 
     __pyx_t_3 = (__pyx_t_1 != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L17_next_or;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L16_bool_binop_done;
     }
-    __pyx_L17_next_or:;
 
     /* "src/lxml/apihelpers.pxi":281
  *             attrib = sorted(attrib.items())
@@ -16833,12 +16809,10 @@ static PyObject *__pyx_f_4lxml_5etree__initNodeAttributes(xmlNode *__pyx_v_c_nod
     __pyx_t_3 = (__pyx_v_4lxml_5etree_OrderedDict != Py_None);
     __pyx_t_1 = (__pyx_t_3 != 0);
     if (__pyx_t_1) {
-      goto __pyx_L18_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L16_bool_binop_done;
     }
-    __pyx_L18_next_and:;
     __pyx_t_5 = __pyx_v_4lxml_5etree_OrderedDict;
     __Pyx_INCREF(__pyx_t_5);
     __pyx_t_1 = PyObject_IsInstance(__pyx_v_attrib, __pyx_t_5); if (unlikely(__pyx_t_1 == -1)) {__pyx_filename = __pyx_f[4]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -17364,12 +17338,10 @@ static int __pyx_f_4lxml_5etree__removeUnusedNamespaceDeclarations(xmlNode *__py
  */
   __pyx_t_2 = ((__pyx_v_c_element->parent != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
 
   /* "src/lxml/apihelpers.pxi":328
  * 
@@ -18102,20 +18074,16 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
  */
   __pyx_t_2 = ((__pyx_v_c_href == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = ((__pyx_v_c_node == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_2 = ((__pyx_v_c_node->type == XML_ENTITY_REF_NODE) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -18185,12 +18153,10 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
   while (1) {
     __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
     __pyx_t_2 = ((__pyx_v_c_node->type != XML_ELEMENT_NODE) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L11_bool_binop_done:;
@@ -18267,12 +18233,10 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
  */
         __pyx_t_2 = ((__pyx_v_c_ns->href != NULL) != 0);
         if (__pyx_t_2) {
-          goto __pyx_L20_next_and;
         } else {
           __pyx_t_1 = __pyx_t_2;
           goto __pyx_L19_bool_binop_done;
         }
-        __pyx_L20_next_and:;
         __pyx_t_2 = ((xmlStrcmp(__pyx_v_c_href, __pyx_v_c_ns->href) == 0) != 0);
         __pyx_t_1 = __pyx_t_2;
         __pyx_L19_bool_binop_done:;
@@ -18287,12 +18251,10 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
  */
           __pyx_t_2 = ((__pyx_v_c_ns->prefix == NULL) != 0);
           if (__pyx_t_2) {
-            goto __pyx_L23_next_and;
           } else {
             __pyx_t_1 = __pyx_t_2;
             goto __pyx_L22_bool_binop_done;
           }
-          __pyx_L23_next_and:;
           __pyx_t_2 = (__pyx_v_is_attribute != 0);
           __pyx_t_1 = __pyx_t_2;
           __pyx_L22_bool_binop_done:;
@@ -18367,12 +18329,10 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
  */
       __pyx_t_2 = ((__pyx_v_c_node != __pyx_v_c_element) != 0);
       if (__pyx_t_2) {
-        goto __pyx_L27_next_and;
       } else {
         __pyx_t_1 = __pyx_t_2;
         goto __pyx_L26_bool_binop_done;
       }
-      __pyx_L27_next_and:;
       __pyx_t_2 = ((__pyx_v_c_node->ns != NULL) != 0);
       __pyx_t_1 = __pyx_t_2;
       __pyx_L26_bool_binop_done:;
@@ -18397,12 +18357,10 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
  */
         __pyx_t_2 = ((__pyx_v_c_ns->href != NULL) != 0);
         if (__pyx_t_2) {
-          goto __pyx_L30_next_and;
         } else {
           __pyx_t_1 = __pyx_t_2;
           goto __pyx_L29_bool_binop_done;
         }
-        __pyx_L30_next_and:;
         __pyx_t_2 = ((xmlStrcmp(__pyx_v_c_href, __pyx_v_c_ns->href) == 0) != 0);
         __pyx_t_1 = __pyx_t_2;
         __pyx_L29_bool_binop_done:;
@@ -18417,12 +18375,10 @@ static xmlNs *__pyx_f_4lxml_5etree__searchNsByHref(xmlNode *__pyx_v_c_node, cons
  */
           __pyx_t_2 = ((__pyx_v_c_ns->prefix == NULL) != 0);
           if (__pyx_t_2) {
-            goto __pyx_L33_next_and;
           } else {
             __pyx_t_1 = __pyx_t_2;
             goto __pyx_L32_bool_binop_done;
           }
-          __pyx_L33_next_and:;
           __pyx_t_2 = (__pyx_v_is_attribute != 0);
           __pyx_t_1 = __pyx_t_2;
           __pyx_L32_bool_binop_done:;
@@ -20388,12 +20344,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__hasText(xmlNode *__pyx_v_c_node)
  */
   __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = ((__pyx_f_4lxml_5etree__textNodeOrSkip(__pyx_v_c_node->children) != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L3_bool_binop_done:;
@@ -20438,12 +20392,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__hasTail(xmlNode *__pyx_v_c_node)
  */
   __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = ((__pyx_f_4lxml_5etree__textNodeOrSkip(__pyx_v_c_node->next) != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L3_bool_binop_done:;
@@ -21284,12 +21236,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__hasChild(xmlNode *__pyx_v_c_node)
  */
   __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = ((__pyx_f_4lxml_5etree__findChildForwards(__pyx_v_c_node, 0) != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L3_bool_binop_done:;
@@ -21654,12 +21604,10 @@ static int __pyx_f_4lxml_5etree__isFullSlice(PyObject *__pyx_v_sliceobject) {
   __pyx_t_1 = (((PySliceObject*)__pyx_v_sliceobject)->start == Py_None);
   __pyx_t_3 = (__pyx_t_1 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
 
   /* "src/lxml/apihelpers.pxi":768
  *         return 0
@@ -22607,12 +22555,10 @@ static CYTHON_INLINE xmlNode *__pyx_f_4lxml_5etree__parentElement(xmlNode *__pyx
  */
   __pyx_t_2 = ((__pyx_v_c_node == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = ((!(_isElement(__pyx_v_c_node) != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -22648,12 +22594,10 @@ static CYTHON_INLINE xmlNode *__pyx_f_4lxml_5etree__parentElement(xmlNode *__pyx
  */
   __pyx_t_2 = ((__pyx_v_c_node == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L8_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L7_bool_binop_done;
   }
-  __pyx_L8_next_or:;
   __pyx_t_2 = ((!(_isElement(__pyx_v_c_node) != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L7_bool_binop_done:;
@@ -22750,12 +22694,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__tagMatches(xmlNode *__pyx_v_c_nod
  */
     __pyx_t_2 = ((__pyx_v_c_name == NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_2 = ((__pyx_v_c_href == NULL) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L5_bool_binop_done:;
@@ -22879,12 +22821,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__tagMatches(xmlNode *__pyx_v_c_nod
  */
     __pyx_t_2 = ((__pyx_v_c_node->name == __pyx_v_c_name) != 0);
     if (!__pyx_t_2) {
-      goto __pyx_L12_next_or;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_or:;
     __pyx_t_2 = ((xmlStrcmp(__pyx_v_c_node->name, __pyx_v_c_name) == 0) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L11_bool_binop_done:;
@@ -22901,12 +22841,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__tagMatches(xmlNode *__pyx_v_c_nod
  */
   __pyx_t_2 = ((__pyx_v_c_node->name == __pyx_v_c_name) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L14_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L13_bool_binop_done;
   }
-  __pyx_L14_next_or:;
   __pyx_t_2 = ((xmlStrcmp(__pyx_v_c_node->name, __pyx_v_c_name) == 0) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L13_bool_binop_done:;
@@ -23043,12 +22981,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__nsTagMatchesExactly(const xmlChar
  */
   __pyx_t_2 = ((__pyx_v_c_qname->c_name != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_c_qname->c_name != __pyx_v_c_node_name) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -23114,12 +23050,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree__nsTagMatchesExactly(const xmlChar
  */
     __pyx_t_2 = ((__pyx_v_c_node_href == NULL) != 0);
     if (!__pyx_t_2) {
-      goto __pyx_L9_next_or;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_or:;
     __pyx_t_2 = (((__pyx_v_c_node_href[0]) == '\x00') != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L8_bool_binop_done:;
@@ -24098,12 +24032,10 @@ static int __pyx_f_4lxml_5etree__copyNonElementSiblings(xmlNode *__pyx_v_c_node,
   while (1) {
     __pyx_t_2 = ((__pyx_v_c_sibling->prev != NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
 
     /* "src/lxml/apihelpers.pxi":1072
  *     cdef xmlNode* c_sibling = c_node
@@ -24222,12 +24154,10 @@ static int __pyx_f_4lxml_5etree__copyNonElementSiblings(xmlNode *__pyx_v_c_node,
   while (1) {
     __pyx_t_2 = ((__pyx_v_c_sibling->next != NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L13_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L12_bool_binop_done;
     }
-    __pyx_L13_next_and:;
 
     /* "src/lxml/apihelpers.pxi":1082
  *         c_sibling = c_sibling.next
@@ -24449,12 +24379,10 @@ static int __pyx_f_4lxml_5etree__deleteSlice(struct LxmlDocument *__pyx_v_doc, x
   while (1) {
     __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L8_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_and:;
     __pyx_t_2 = ((__pyx_v_c < __pyx_v_count) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L7_bool_binop_done:;
@@ -24633,12 +24561,10 @@ static int __pyx_f_4lxml_5etree__replaceSlice(struct LxmlElement *__pyx_v_parent
   __pyx_t_2 = PyList_Check(__pyx_v_elements); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_3 = PyTuple_Check(__pyx_v_elements); 
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -24992,12 +24918,10 @@ static int __pyx_f_4lxml_5etree__replaceSlice(struct LxmlElement *__pyx_v_parent
   while (1) {
     __pyx_t_1 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_1) {
-      goto __pyx_L19_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L18_bool_binop_done;
     }
-    __pyx_L19_next_and:;
     __pyx_t_1 = ((__pyx_v_c < __pyx_v_slicelength) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L18_bool_binop_done:;
@@ -26538,12 +26462,10 @@ static int __pyx_f_4lxml_5etree_check_string_utf8(PyObject *__pyx_v_pystring) {
       while (1) {
         __pyx_t_3 = ((__pyx_v_s < __pyx_v_c_end) != 0);
         if (__pyx_t_3) {
-          goto __pyx_L9_next_and;
         } else {
           __pyx_t_2 = __pyx_t_3;
           goto __pyx_L8_bool_binop_done;
         }
-        __pyx_L9_next_and:;
         __pyx_t_3 = (((__pyx_v_s[0]) & 0x80) != 0);
         __pyx_t_2 = __pyx_t_3;
         __pyx_L8_bool_binop_done:;
@@ -26580,12 +26502,10 @@ static int __pyx_f_4lxml_5etree_check_string_utf8(PyObject *__pyx_v_pystring) {
  */
     __pyx_t_3 = ((__pyx_v_s < __pyx_v_c_end) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
     __pyx_t_3 = ((!(xmlIsChar_ch((__pyx_v_s[0])) != 0)) != 0);
     __pyx_t_2 = __pyx_t_3;
     __pyx_L11_bool_binop_done:;
@@ -26994,12 +26914,10 @@ static PyObject *__pyx_f_4lxml_5etree__utf8(PyObject *__pyx_v_s) {
  */
   __pyx_t_2 = ((!(IS_PYTHON3 != 0)) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = (((PyObject *)Py_TYPE(__pyx_v_s)) == ((PyObject *)((PyObject*)(&PyBytes_Type))));
   __pyx_t_3 = (__pyx_t_2 != 0);
   __pyx_t_1 = __pyx_t_3;
@@ -27078,12 +26996,10 @@ static PyObject *__pyx_f_4lxml_5etree__utf8(PyObject *__pyx_v_s) {
   __pyx_t_1 = PyBytes_Check(__pyx_v_s); 
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L7_next_or;
   } else {
     __pyx_t_3 = __pyx_t_2;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L7_next_or:;
   __pyx_t_2 = PyByteArray_Check(__pyx_v_s); 
   __pyx_t_1 = (__pyx_t_2 != 0);
   __pyx_t_3 = __pyx_t_1;
@@ -27315,12 +27231,10 @@ static int __pyx_f_4lxml_5etree__isFilePath(const xmlChar *__pyx_v_c_path) {
   }
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_3 = ('A' <= (__pyx_v_c_path[0]));
   if (__pyx_t_3) {
     __pyx_t_3 = ((__pyx_v_c_path[0]) <= 'Z');
@@ -27348,12 +27262,10 @@ static int __pyx_f_4lxml_5etree__isFilePath(const xmlChar *__pyx_v_c_path) {
  */
     __pyx_t_2 = (((__pyx_v_c_path[0]) == ':') != 0);
     if (__pyx_t_2) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
     switch ((__pyx_v_c_path[1])) {
       case '\x00':
       case '\\':
@@ -27393,12 +27305,10 @@ static int __pyx_f_4lxml_5etree__isFilePath(const xmlChar *__pyx_v_c_path) {
       }
       __pyx_t_2 = (__pyx_t_3 != 0);
       if (!__pyx_t_2) {
-        goto __pyx_L13_next_or;
       } else {
         __pyx_t_1 = __pyx_t_2;
         goto __pyx_L12_bool_binop_done;
       }
-      __pyx_L13_next_or:;
       __pyx_t_2 = ('A' <= (__pyx_v_c_path[0]));
       if (__pyx_t_2) {
         __pyx_t_2 = ((__pyx_v_c_path[0]) <= 'Z');
@@ -27427,20 +27337,16 @@ static int __pyx_f_4lxml_5etree__isFilePath(const xmlChar *__pyx_v_c_path) {
  */
     __pyx_t_3 = (((__pyx_v_c_path[0]) == ':') != 0);
     if (__pyx_t_3) {
-      goto __pyx_L16_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L15_bool_binop_done;
     }
-    __pyx_L16_next_and:;
     __pyx_t_3 = (((__pyx_v_c_path[1]) == '/') != 0);
     if (__pyx_t_3) {
-      goto __pyx_L17_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L15_bool_binop_done;
     }
-    __pyx_L17_next_and:;
     __pyx_t_3 = (((__pyx_v_c_path[2]) == '/') != 0);
     __pyx_t_1 = __pyx_t_3;
     __pyx_L15_bool_binop_done:;
@@ -28470,12 +28376,10 @@ static PyObject *__pyx_f_4lxml_5etree___getNsTag(PyObject *__pyx_v_tag, int __py
  */
   __pyx_t_2 = ((!(_isString(__pyx_v_tag) != 0)) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_tag, ((PyObject*)__pyx_ptype_4lxml_5etree_QName)); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   __pyx_t_1 = __pyx_t_3;
@@ -28872,12 +28776,10 @@ static int __pyx_f_4lxml_5etree__htmlNameIsValid(const xmlChar *__pyx_v_c_name)
  */
   __pyx_t_2 = ((__pyx_v_c_name == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = (((__pyx_v_c_name[0]) == '\x00') != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -29072,12 +28974,10 @@ static int __pyx_f_4lxml_5etree__characterReferenceIsValid(const xmlChar *__pyx_
  */
     __pyx_t_2 = (((__pyx_v_c_name[0]) < '0') != 0);
     if (!__pyx_t_2) {
-      goto __pyx_L9_next_or;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_or:;
     __pyx_t_2 = (((__pyx_v_c_name[0]) > '9') != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L8_bool_binop_done:;
@@ -29781,12 +29681,10 @@ static PyObject *__pyx_f_4lxml_5etree__namespacedNameFromNsName(const xmlChar *_
  */
   __pyx_t_3 = (LXML_UNICODE_STRINGS != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = ((!(IS_PYPY != 0)) != 0);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -29829,12 +29727,10 @@ static PyObject *__pyx_f_4lxml_5etree__namespacedNameFromNsName(const xmlChar *_
  */
     __pyx_t_3 = (LXML_UNICODE_STRINGS != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L8_next_or;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_or:;
     __pyx_t_3 = (__pyx_f_4lxml_5etree_isutf8((const xmlChar*)PyBytes_AS_STRING(__pyx_v_s)) != 0);
     __pyx_t_1 = __pyx_t_3;
     __pyx_L7_bool_binop_done:;
@@ -30566,12 +30462,10 @@ static PyObject *__pyx_f_4lxml_5etree_9_LogEntry__setError(struct __pyx_obj_4lxm
  */
   __pyx_t_3 = ((__pyx_v_error->message == NULL) != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   switch ((__pyx_v_error->message[0])) {
     case '\x00':
     case '\n':
@@ -31459,12 +31353,10 @@ static PyObject *__pyx_pf_4lxml_5etree_9_LogEntry_7message___get__(struct __pyx_
  */
   __pyx_t_1 = ((__pyx_v_size > 0) != 0);
   if (__pyx_t_1) {
-    goto __pyx_L7_next_and;
   } else {
     __pyx_t_2 = __pyx_t_1;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L7_next_and:;
   __pyx_t_1 = (((__pyx_v_self->_c_message[(__pyx_v_size - 1)]) == '\n') != 0);
   __pyx_t_2 = __pyx_t_1;
   __pyx_L6_bool_binop_done:;
@@ -34606,12 +34498,10 @@ static PyObject *__pyx_pf_4lxml_5etree_13_ListErrorLog_16filter_domains(struct _
   __pyx_t_2 = PyInt_Check(__pyx_v_domains); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = PyLong_Check(__pyx_v_domains); 
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -34802,12 +34692,10 @@ static PyObject *__pyx_pf_4lxml_5etree_13_ListErrorLog_18filter_types(struct __p
   __pyx_t_2 = PyInt_Check(__pyx_v_types); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = PyLong_Check(__pyx_v_types); 
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -34998,12 +34886,10 @@ static PyObject *__pyx_pf_4lxml_5etree_13_ListErrorLog_20filter_levels(struct __
   __pyx_t_2 = PyInt_Check(__pyx_v_levels); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = PyLong_Check(__pyx_v_levels); 
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -36571,12 +36457,10 @@ static PyObject *__pyx_f_4lxml_5etree_9_ErrorLog_receive(struct __pyx_obj_4lxml_
   __pyx_t_7 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base._first_error) == Py_None);
   __pyx_t_8 = (__pyx_t_7 != 0);
   if (__pyx_t_8) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_6 = __pyx_t_8;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_8 = ((__pyx_v_entry->level >= XML_ERR_ERROR) != 0);
   __pyx_t_6 = __pyx_t_8;
   __pyx_L4_bool_binop_done:;
@@ -37222,12 +37106,10 @@ static PyObject *__pyx_f_4lxml_5etree_17_RotatingErrorLog_receive(struct __pyx_o
   __pyx_t_7 = (((PyObject *)__pyx_v_self->__pyx_base.__pyx_base.__pyx_base._first_error) == Py_None);
   __pyx_t_8 = (__pyx_t_7 != 0);
   if (__pyx_t_8) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_6 = __pyx_t_8;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_8 = ((__pyx_v_entry->level >= XML_ERR_ERROR) != 0);
   __pyx_t_6 = __pyx_t_8;
   __pyx_L4_bool_binop_done:;
@@ -39315,12 +39197,10 @@ static void __pyx_f_4lxml_5etree__receiveXSLTError(void *__pyx_v_c_log_handler,
  */
     __pyx_t_2 = ((__pyx_v_c_element != NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L17_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L16_bool_binop_done;
     }
-    __pyx_L17_next_and:;
     __pyx_t_2 = ((__pyx_v_format_count == 1) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L16_bool_binop_done:;
@@ -40211,12 +40091,10 @@ static int __pyx_f_4lxml_5etree_9_Document_hasdoctype(struct LxmlDocument *__pyx
  */
   __pyx_t_2 = ((__pyx_v_self->_c_doc != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = ((__pyx_v_self->_c_doc->intSubset != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L3_bool_binop_done:;
@@ -40386,12 +40264,10 @@ static PyObject *__pyx_f_4lxml_5etree_9_Document_getdoctype(struct LxmlDocument
     __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_public_id); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 385; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_5 = ((!__pyx_t_4) != 0);
     if (__pyx_t_5) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_2 = __pyx_t_5;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
     __pyx_t_5 = ((__pyx_v_c_dtd->ExternalID != NULL) != 0);
     __pyx_t_2 = __pyx_t_5;
     __pyx_L8_bool_binop_done:;
@@ -40422,12 +40298,10 @@ static PyObject *__pyx_f_4lxml_5etree_9_Document_getdoctype(struct LxmlDocument
     __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_sys_url); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 387; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_4 = ((!__pyx_t_5) != 0);
     if (__pyx_t_4) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_2 = __pyx_t_4;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
     __pyx_t_4 = ((__pyx_v_c_dtd->SystemID != NULL) != 0);
     __pyx_t_2 = __pyx_t_4;
     __pyx_L11_bool_binop_done:;
@@ -41084,12 +40958,10 @@ static xmlNs *__pyx_f_4lxml_5etree_9_Document__findOrBuildNodeNs(struct LxmlDocu
  */
     __pyx_t_5 = (__pyx_v_is_attribute != 0);
     if (__pyx_t_5) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_1 = __pyx_t_5;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_5 = ((__pyx_v_c_ns->prefix == NULL) != 0);
     __pyx_t_1 = __pyx_t_5;
     __pyx_L6_bool_binop_done:;
@@ -41725,20 +41597,16 @@ static int __pyx_pf_4lxml_5etree_7DocInfo___cinit__(struct __pyx_obj_4lxml_5etre
   __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_root_name); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_9 = ((!__pyx_t_8) != 0);
   if (__pyx_t_9) {
-    goto __pyx_L7_next_and;
   } else {
     __pyx_t_7 = __pyx_t_9;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L7_next_and:;
   __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_public_id); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_9) {
-    goto __pyx_L8_next_or;
   } else {
     __pyx_t_7 = __pyx_t_9;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L8_next_or:;
   __pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_v_system_url); if (unlikely(__pyx_t_9 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 516; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_7 = __pyx_t_9;
   __pyx_L6_bool_binop_done:;
@@ -44194,12 +44062,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_10__copy__(struct LxmlElement *
   while (1) {
     __pyx_t_5 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_5) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_6 = __pyx_t_5;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_5 = ((__pyx_v_c_node->type != __pyx_v_self->_c_node->type) != 0);
     __pyx_t_6 = __pyx_t_5;
     __pyx_L6_bool_binop_done:;
@@ -44546,12 +44412,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_16addnext(struct LxmlElement *_
  */
   __pyx_t_3 = ((__pyx_v_self->_c_node->parent != NULL) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = ((!(_isElement(__pyx_v_self->_c_node->parent) != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -44700,12 +44564,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_18addprevious(struct LxmlElemen
  */
   __pyx_t_3 = ((__pyx_v_self->_c_node->parent != NULL) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = ((!(_isElement(__pyx_v_self->_c_node->parent) != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -46051,12 +45913,10 @@ static int __pyx_pf_4lxml_5etree_8_Element_3tag_2__set__(struct LxmlElement *__p
   __pyx_t_6 = (((PyObject *)__pyx_v_parser) != Py_None);
   __pyx_t_7 = (__pyx_t_6 != 0);
   if (__pyx_t_7) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_5 = __pyx_t_7;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_7 = (__pyx_v_parser->_for_html != 0);
   __pyx_t_5 = __pyx_t_7;
   __pyx_L4_bool_binop_done:;
@@ -46928,12 +46788,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_5nsmap___get__(struct LxmlEleme
   while (1) {
     __pyx_t_5 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_5) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_4 = __pyx_t_5;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_5 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
     __pyx_t_4 = __pyx_t_5;
     __pyx_L5_bool_binop_done:;
@@ -47690,12 +47548,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_32__getitem__(struct LxmlElemen
     while (1) {
       __pyx_t_3 = ((__pyx_v_c_node != NULL) != 0);
       if (__pyx_t_3) {
-        goto __pyx_L10_next_and;
       } else {
         __pyx_t_2 = __pyx_t_3;
         goto __pyx_L9_bool_binop_done;
       }
-      __pyx_L10_next_and:;
       __pyx_t_3 = ((__pyx_v_c < __pyx_v_slicelength) != 0);
       __pyx_t_2 = __pyx_t_3;
       __pyx_L9_bool_binop_done:;
@@ -48124,12 +47980,10 @@ static int __pyx_pf_4lxml_5etree_8_Element_38__contains__(struct LxmlElement *__
  */
   __pyx_t_3 = (__pyx_v_c_node != NULL);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = (__pyx_v_c_node->parent == __pyx_v_self->_c_node);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -48474,21 +48328,17 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
   __pyx_t_4 = (__pyx_v_stop == Py_None);
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (__pyx_t_5) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_5 = (__pyx_v_start == Py_None);
   __pyx_t_4 = (__pyx_t_5 != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L7_next_or;
   } else {
     __pyx_t_3 = __pyx_t_4;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L7_next_or:;
   __pyx_t_6 = PyObject_RichCompare(__pyx_v_start, __pyx_int_0, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1147; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -48651,12 +48501,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
  */
     __pyx_t_4 = ((__pyx_v_c_stop == 0) != 0);
     if (!__pyx_t_4) {
-      goto __pyx_L15_next_or;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L15_next_or:;
 
     /* "src/lxml/lxml.etree.pyx":1166
  *             c_stop = stop
@@ -48667,20 +48515,16 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
  */
     __pyx_t_4 = ((__pyx_v_c_start >= __pyx_v_c_stop) != 0);
     if (__pyx_t_4) {
-      goto __pyx_L16_next_and;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L16_next_and:;
     __pyx_t_4 = ((__pyx_v_c_stop > 0) != 0);
     if (!__pyx_t_4) {
-      goto __pyx_L17_next_or;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L17_next_or:;
     __pyx_t_4 = ((__pyx_v_c_start < 0) != 0);
     __pyx_t_3 = __pyx_t_4;
     __pyx_L14_bool_binop_done:;
@@ -48708,12 +48552,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
  */
   __pyx_t_4 = ((__pyx_v_c_start < 0) != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L20_next_or;
   } else {
     __pyx_t_3 = __pyx_t_4;
     goto __pyx_L19_bool_binop_done;
   }
-  __pyx_L20_next_or:;
   __pyx_t_4 = ((__pyx_v_c_stop < 0) != 0);
   __pyx_t_3 = __pyx_t_4;
   __pyx_L19_bool_binop_done:;
@@ -48781,12 +48623,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
     while (1) {
       __pyx_t_4 = ((__pyx_v_c_start_node != __pyx_v_c_child) != 0);
       if (__pyx_t_4) {
-        goto __pyx_L25_next_and;
       } else {
         __pyx_t_3 = __pyx_t_4;
         goto __pyx_L24_bool_binop_done;
       }
-      __pyx_L25_next_and:;
       __pyx_t_4 = ((__pyx_v_l < __pyx_v_k) != 0);
       __pyx_t_3 = __pyx_t_4;
       __pyx_L24_bool_binop_done:;
@@ -48844,12 +48684,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
  */
       __pyx_t_4 = ((__pyx_v_c_stop < 0) != 0);
       if (__pyx_t_4) {
-        goto __pyx_L30_next_and;
       } else {
         __pyx_t_3 = __pyx_t_4;
         goto __pyx_L29_bool_binop_done;
       }
-      __pyx_L30_next_and:;
       __pyx_t_4 = ((__pyx_v_l <= (-__pyx_v_c_stop)) != 0);
       __pyx_t_3 = __pyx_t_4;
       __pyx_L29_bool_binop_done:;
@@ -48932,12 +48770,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
     while (1) {
       __pyx_t_4 = ((__pyx_v_c_child != NULL) != 0);
       if (__pyx_t_4) {
-        goto __pyx_L35_next_and;
       } else {
         __pyx_t_3 = __pyx_t_4;
         goto __pyx_L34_bool_binop_done;
       }
-      __pyx_L35_next_and:;
       __pyx_t_4 = ((__pyx_v_k < __pyx_v_c_stop) != 0);
       __pyx_t_3 = __pyx_t_4;
       __pyx_L34_bool_binop_done:;
@@ -49113,12 +48949,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8_Element_44index(struct LxmlElement *__p
  */
   __pyx_t_4 = ((__pyx_v_c_start != 0) != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L45_next_or;
   } else {
     __pyx_t_3 = __pyx_t_4;
     goto __pyx_L44_bool_binop_done;
   }
-  __pyx_L45_next_or:;
   __pyx_t_4 = ((__pyx_v_c_stop != 0) != 0);
   __pyx_t_3 = __pyx_t_4;
   __pyx_L44_bool_binop_done:;
@@ -54468,13 +54302,11 @@ static PyObject *__pyx_pf_4lxml_5etree_22_ProcessingInstruction_6attrib___get__(
  */
       __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_7genexpr__pyx_v_value1); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1651; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
       if (!__pyx_t_11) {
-        goto __pyx_L11_next_or;
       } else {
         __Pyx_INCREF(__pyx_7genexpr__pyx_v_value1);
         __pyx_t_2 = __pyx_7genexpr__pyx_v_value1;
         goto __pyx_L10_bool_binop_done;
       }
-      __pyx_L11_next_or:;
       __Pyx_INCREF(__pyx_7genexpr__pyx_v_value2);
       __pyx_t_2 = __pyx_7genexpr__pyx_v_value2;
       __pyx_L10_bool_binop_done:;
@@ -54733,12 +54565,10 @@ static int __pyx_pf_4lxml_5etree_7_Entity_4name_2__set__(struct __pyx_obj_4lxml_
   __pyx_t_4 = (__Pyx_PySequence_Contains(__pyx_kp_b__25, __pyx_v_value_utf, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_5 = (__Pyx_PySequence_Contains(__pyx_kp_b__26, __pyx_v_value_utf, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1670; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = (__pyx_t_5 != 0);
   __pyx_t_3 = __pyx_t_4;
@@ -56596,12 +56426,10 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_8__deepcopy__(struct LxmlE
  */
     __pyx_t_1 = ((__pyx_v_c_doc->intSubset != NULL) != 0);
     if (__pyx_t_1) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_1 = ((__pyx_v_doc->_c_doc->intSubset == NULL) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L5_bool_binop_done:;
@@ -56629,12 +56457,10 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_8__deepcopy__(struct LxmlE
  */
     __pyx_t_1 = ((__pyx_v_c_doc->extSubset != NULL) != 0);
     if (__pyx_t_1) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
     __pyx_t_1 = ((__pyx_v_doc->_c_doc->extSubset != NULL) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L8_bool_binop_done:;
@@ -56907,12 +56733,10 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_6parser___get__(struct Lxm
   __pyx_t_2 = (((PyObject *)__pyx_v_self->_context_node) != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
 
   /* "src/lxml/lxml.etree.pyx":1854
  *         def __get__(self):
@@ -57174,12 +56998,10 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_10write(struct LxmlElement
   __pyx_t_4 = (__pyx_v_compression == Py_None);
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = PyObject_RichCompare(__pyx_v_compression, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1901; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1901; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -57482,28 +57304,22 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_10write(struct LxmlElement
     __pyx_t_6 = __pyx_v_encoding;
     __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_kp_u_US_ASCII, Py_NE)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_5) {
-      goto __pyx_L15_next_and;
     } else {
       __pyx_t_3 = __pyx_t_5;
       goto __pyx_L12_bool_binop_done;
     }
-    __pyx_L15_next_and:;
     __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_n_u_ASCII, Py_NE)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_5) {
-      goto __pyx_L14_next_and;
     } else {
       __pyx_t_3 = __pyx_t_5;
       goto __pyx_L12_bool_binop_done;
     }
-    __pyx_L14_next_and:;
     __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_n_u_UTF8, Py_NE)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_5) {
-      goto __pyx_L13_next_and;
     } else {
       __pyx_t_3 = __pyx_t_5;
       goto __pyx_L12_bool_binop_done;
     }
-    __pyx_L13_next_and:;
     __pyx_t_5 = (__Pyx_PyUnicode_Equals(__pyx_t_6, __pyx_kp_u_UTF_8, Py_NE)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1928; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_3 = __pyx_t_5;
     __pyx_L12_bool_binop_done:;
@@ -58424,12 +58240,10 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_14getelementpath(struct Lx
  */
     __pyx_t_2 = ((__pyx_v_c_element == NULL) != 0);
     if (!__pyx_t_2) {
-      goto __pyx_L20_next_or;
     } else {
       __pyx_t_3 = __pyx_t_2;
       goto __pyx_L19_bool_binop_done;
     }
-    __pyx_L20_next_or:;
     __pyx_t_2 = ((__pyx_v_c_element->type != XML_ELEMENT_NODE) != 0);
     __pyx_t_3 = __pyx_t_2;
     __pyx_L19_bool_binop_done:;
@@ -60817,12 +60631,10 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ElementTree_38write_c14n(struct LxmlEl
   __pyx_t_4 = (__pyx_v_compression == Py_None);
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = PyObject_RichCompare(__pyx_v_compression, __pyx_int_0, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2268; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
@@ -61014,12 +60826,10 @@ static struct LxmlElementTree *__pyx_f_4lxml_5etree__newElementTree(struct LxmlD
   __pyx_t_5 = (((PyObject *)__pyx_v_context_node) == Py_None);
   __pyx_t_6 = (__pyx_t_5 != 0);
   if (__pyx_t_6) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_4 = __pyx_t_6;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_6 = (((PyObject *)__pyx_v_doc) != Py_None);
   __pyx_t_5 = (__pyx_t_6 != 0);
   __pyx_t_4 = __pyx_t_5;
@@ -61468,12 +61278,10 @@ static PyObject *__pyx_pf_4lxml_5etree_7_Attrib_6update(struct __pyx_obj_4lxml_5
   __pyx_t_4 = PyDict_Check(__pyx_v_sequence_or_dict); 
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_5 = __Pyx_TypeCheck(__pyx_v_sequence_or_dict, ((PyObject*)__pyx_ptype_4lxml_5etree__Attrib)); 
   __pyx_t_4 = (__pyx_t_5 != 0);
   __pyx_t_3 = __pyx_t_4;
@@ -63909,12 +63717,10 @@ static PyObject *__pyx_pf_4lxml_5etree_15_AttribIterator_2__next__(struct __pyx_
   while (1) {
     __pyx_t_1 = ((__pyx_v_c_attr != NULL) != 0);
     if (__pyx_t_1) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_1 = ((__pyx_v_c_attr->type != XML_ATTRIBUTE_NODE) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L6_bool_binop_done:;
@@ -64449,12 +64255,10 @@ static PyObject *__pyx_f_4lxml_5etree_18_ElementTagMatcher__initTagMatch(struct
  */
     __pyx_t_2 = (((__pyx_v_self->_name[0]) == '*') != 0);
     if (__pyx_t_2) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_2 = (((__pyx_v_self->_name[1]) == '\x00') != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L6_bool_binop_done:;
@@ -64587,12 +64391,10 @@ static void __pyx_f_4lxml_5etree_16_ElementIterator__storeNext(struct LxmlElemen
   while (1) {
     __pyx_t_2 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
 
     /* "src/lxml/lxml.etree.pyx":2521
  *         c_node = self._next_element(node._c_node)
@@ -64603,12 +64405,10 @@ static void __pyx_f_4lxml_5etree_16_ElementIterator__storeNext(struct LxmlElemen
  */
     __pyx_t_2 = ((__pyx_v_self->__pyx_base._node_type != 0) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L7_next_and:;
 
     /* "src/lxml/lxml.etree.pyx":2522
  *         while c_node is not NULL and \
@@ -64619,12 +64419,10 @@ static void __pyx_f_4lxml_5etree_16_ElementIterator__storeNext(struct LxmlElemen
  */
     __pyx_t_2 = ((((xmlElementType)__pyx_v_self->__pyx_base._node_type) != __pyx_v_c_node->type) != 0);
     if (!__pyx_t_2) {
-      goto __pyx_L8_next_or;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L8_next_or:;
 
     /* "src/lxml/lxml.etree.pyx":2523
  *                   self._node_type != 0 and \
@@ -65039,12 +64837,10 @@ static int __pyx_f_4lxml_5etree_16_MultiTagMatcher_rejectsAll(struct __pyx_obj_4
  */
   __pyx_t_2 = ((!(__pyx_v_self->_tag_count != 0)) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = ((!(__pyx_v_self->_node_types != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L3_bool_binop_done:;
@@ -65126,12 +64922,10 @@ static int __pyx_f_4lxml_5etree_16_MultiTagMatcher_matchesType(struct __pyx_obj_
  */
   __pyx_t_2 = ((__pyx_v_node_type == XML_ELEMENT_NODE) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = (__pyx_v_self->_tag_count != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -65338,12 +65132,10 @@ static PyObject *__pyx_f_4lxml_5etree_16_MultiTagMatcher_initTagMatch(struct __p
   __pyx_t_2 = (__pyx_v_tags == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_4 = PyObject_RichCompare(__pyx_v_tags, __pyx_empty_tuple, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2590; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -65594,12 +65386,10 @@ static PyObject *__pyx_f_4lxml_5etree_16_MultiTagMatcher__storeTags(struct __pyx
     __pyx_t_1 = __pyx_v_tag;
     __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s__35, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_2) {
-      goto __pyx_L7_next_or;
     } else {
       __pyx_t_3 = __pyx_t_2;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_or:;
     __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_1, __pyx_kp_s__36, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2614; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_3 = __pyx_t_2;
     __pyx_L6_bool_binop_done:;
@@ -65899,12 +65689,10 @@ static CYTHON_INLINE int __pyx_f_4lxml_5etree_16_MultiTagMatcher_cacheTags(struc
   __pyx_t_2 = (__pyx_v_doc == __pyx_v_self->_cached_doc);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = ((__pyx_v_dict_size == __pyx_v_self->_cached_size) != 0);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -66559,12 +66347,10 @@ static int __pyx_f_4lxml_5etree_21_ElementMatchIterator__storeNext(struct __pyx_
   while (1) {
     __pyx_t_4 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_4) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_4 = ((!(__pyx_f_4lxml_5etree_16_MultiTagMatcher_matches(__pyx_v_self->_matcher, __pyx_v_c_node) != 0)) != 0);
     __pyx_t_3 = __pyx_t_4;
     __pyx_L5_bool_binop_done:;
@@ -66940,12 +66726,10 @@ static int __pyx_pf_4lxml_5etree_20ElementChildIterator___cinit__(struct __pyx_o
   while (1) {
     __pyx_t_4 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_4) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_4 = ((!(__pyx_f_4lxml_5etree_16_MultiTagMatcher_matches(__pyx_v_self->__pyx_base._matcher, __pyx_v_c_node) != 0)) != 0);
     __pyx_t_3 = __pyx_t_4;
     __pyx_L6_bool_binop_done:;
@@ -67512,12 +67296,10 @@ static int __pyx_pf_4lxml_5etree_25ElementDepthFirstIterator___cinit__(struct __
  */
   __pyx_t_5 = ((!(__pyx_v_inclusive != 0)) != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_4 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_5 = ((!(__pyx_f_4lxml_5etree_16_MultiTagMatcher_matches(__pyx_v_self->_matcher, __pyx_v_node->_c_node) != 0)) != 0);
   __pyx_t_4 = __pyx_t_5;
   __pyx_L4_bool_binop_done:;
@@ -70902,12 +70684,10 @@ static PyObject *__pyx_pf_4lxml_5etree_24fromstringlist(CYTHON_UNUSED PyObject *
   __pyx_t_2 = PyBytes_Check(__pyx_v_strings); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = PyUnicode_Check(__pyx_v_strings); 
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -71161,7 +70941,6 @@ static PyObject *__pyx_pf_4lxml_5etree_26iselement(CYTHON_UNUSED PyObject *__pyx
   __Pyx_XDECREF(__pyx_r);
   __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_element, ((PyObject*)__pyx_ptype_4lxml_5etree__Element)); 
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
@@ -71169,7 +70948,6 @@ static PyObject *__pyx_pf_4lxml_5etree_26iselement(CYTHON_UNUSED PyObject *__pyx
     __pyx_t_3 = 0;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = (((struct LxmlElement *)__pyx_v_element)->_c_node != NULL);
   __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3122; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
@@ -71725,21 +71503,17 @@ static PyObject *__pyx_pf_4lxml_5etree_30tostring(CYTHON_UNUSED PyObject *__pyx_
   __pyx_t_1 = (__pyx_v_encoding == __pyx_v_4lxml_5etree__unicode);
   __pyx_t_4 = (__pyx_t_1 != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L9_next_or;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_or:;
   __pyx_t_4 = (__pyx_v_encoding != Py_None);
   __pyx_t_1 = (__pyx_t_4 != 0);
   if (__pyx_t_1) {
-    goto __pyx_L10_next_and;
   } else {
     __pyx_t_2 = __pyx_t_1;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L10_next_and:;
   __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_encoding, __pyx_n_s_upper); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __pyx_t_6 = NULL;
@@ -71829,12 +71603,10 @@ static PyObject *__pyx_pf_4lxml_5etree_30tostring(CYTHON_UNUSED PyObject *__pyx_
     __pyx_t_2 = (__pyx_v_encoding != Py_None);
     __pyx_t_4 = (__pyx_t_2 != 0);
     if (__pyx_t_4) {
-      goto __pyx_L13_next_and;
     } else {
       __pyx_t_1 = __pyx_t_4;
       goto __pyx_L12_bool_binop_done;
     }
-    __pyx_L13_next_and:;
     __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_encoding, __pyx_n_s_upper); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_5);
     __pyx_t_6 = NULL;
@@ -71857,28 +71629,22 @@ static PyObject *__pyx_pf_4lxml_5etree_30tostring(CYTHON_UNUSED PyObject *__pyx_
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_ASCII, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_2) {
-      goto __pyx_L17_next_and;
     } else {
       __pyx_t_4 = __pyx_t_2;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L17_next_and:;
     __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_kp_u_UTF_8, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_2) {
-      goto __pyx_L16_next_and;
     } else {
       __pyx_t_4 = __pyx_t_2;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L16_next_and:;
     __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_UTF8, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_2) {
-      goto __pyx_L15_next_and;
     } else {
       __pyx_t_4 = __pyx_t_2;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L15_next_and:;
     __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_kp_u_US_ASCII, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_4 = __pyx_t_2;
     __pyx_L14_bool_binop_done:;
@@ -74017,12 +73783,10 @@ static PyObject *__pyx_pf_4lxml_5etree_14_ReadOnlyProxy_4__getitem__(struct __py
     while (1) {
       __pyx_t_3 = ((__pyx_v_c_node != NULL) != 0);
       if (__pyx_t_3) {
-        goto __pyx_L10_next_and;
       } else {
         __pyx_t_2 = __pyx_t_3;
         goto __pyx_L9_bool_binop_done;
       }
-      __pyx_L10_next_and:;
       __pyx_t_3 = ((__pyx_v_c < __pyx_v_slicelength) != 0);
       __pyx_t_2 = __pyx_t_3;
       __pyx_L9_bool_binop_done:;
@@ -74614,12 +74378,10 @@ static PyObject *__pyx_f_4lxml_5etree_14_ReadOnlyProxy___copy__(struct __pyx_obj
   while (1) {
     __pyx_t_5 = ((__pyx_v_c_node != NULL) != 0);
     if (__pyx_t_5) {
-      goto __pyx_L8_next_and;
     } else {
       __pyx_t_7 = __pyx_t_5;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_and:;
     __pyx_t_5 = ((__pyx_v_c_node->type != __pyx_v_self->_c_node->type) != 0);
     __pyx_t_7 = __pyx_t_5;
     __pyx_L7_bool_binop_done:;
@@ -74920,12 +74682,10 @@ static PyObject *__pyx_pf_4lxml_5etree_14_ReadOnlyProxy_16iterchildren(struct __
   __pyx_t_3 = (__pyx_v_tag != Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_tag, __pyx_kp_s__35, Py_NE)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 193; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = __pyx_t_4;
   __pyx_L4_bool_binop_done:;
@@ -75343,12 +75103,10 @@ static PyObject *__pyx_pf_4lxml_5etree_14_ReadOnlyProxy_20getparent(struct __pyx
  */
   __pyx_t_4 = ((__pyx_v_c_parent == NULL) != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_4 = ((!(_isElement(__pyx_v_c_parent) != 0)) != 0);
   __pyx_t_3 = __pyx_t_4;
   __pyx_L4_bool_binop_done:;
@@ -75825,12 +75583,10 @@ static int __pyx_pf_4lxml_5etree_20_ReadOnlyEntityProxy_4name_2__set__(struct __
   __pyx_t_3 = (__Pyx_PySequence_Contains(__pyx_kp_u__25, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_4 = (__Pyx_PySequence_Contains(__pyx_kp_u__26, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 265; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = (__pyx_t_4 != 0);
   __pyx_t_2 = __pyx_t_3;
@@ -78052,12 +77808,10 @@ static int __pyx_pf_4lxml_5etree_29_ModifyContentOnlyEntityProxy_4name_2__set__(
     __pyx_t_3 = (__Pyx_PySequence_Contains(__pyx_kp_u__25, __pyx_v_value, Py_NE)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_4 = (__pyx_t_3 != 0);
     if (__pyx_t_4) {
-      goto __pyx_L4_next_and;
     } else {
       __pyx_t_2 = __pyx_t_4;
       goto __pyx_L3_bool_binop_done;
     }
-    __pyx_L4_next_and:;
     __pyx_t_4 = (__Pyx_PySequence_Contains(__pyx_kp_u__26, __pyx_v_value, Py_NE)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[5]; __pyx_lineno = 464; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_3 = (__pyx_t_4 != 0);
     __pyx_t_2 = __pyx_t_3;
@@ -79935,14 +79689,12 @@ static int __pyx_pf_4lxml_5etree_11ElementBase___init__(struct LxmlElementBase *
         __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 84; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         if (!__pyx_t_10) {
           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-          goto __pyx_L53_next_or;
         } else {
           __Pyx_INCREF(__pyx_t_1);
           __pyx_t_6 = __pyx_t_1;
           __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
           goto __pyx_L52_bool_binop_done;
         }
-        __pyx_L53_next_or:;
         __Pyx_INCREF(__pyx_kp_s__15);
         __pyx_t_6 = __pyx_kp_s__15;
         __pyx_L52_bool_binop_done:;
@@ -79975,14 +79727,12 @@ static int __pyx_pf_4lxml_5etree_11ElementBase___init__(struct LxmlElementBase *
         __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 87; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         if (!__pyx_t_10) {
           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-          goto __pyx_L55_next_or;
         } else {
           __Pyx_INCREF(__pyx_t_6);
           __pyx_t_1 = __pyx_t_6;
           __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
           goto __pyx_L54_bool_binop_done;
         }
-        __pyx_L55_next_or:;
         __Pyx_INCREF(__pyx_kp_s__15);
         __pyx_t_1 = __pyx_kp_s__15;
         __pyx_L54_bool_binop_done:;
@@ -80049,12 +79799,10 @@ static int __pyx_pf_4lxml_5etree_11ElementBase___init__(struct LxmlElementBase *
     __pyx_t_10 = PyType_Check(__pyx_v_child); 
     __pyx_t_16 = (__pyx_t_10 != 0);
     if (__pyx_t_16) {
-      goto __pyx_L57_next_and;
     } else {
       __pyx_t_11 = __pyx_t_16;
       goto __pyx_L56_bool_binop_done;
     }
-    __pyx_L57_next_and:;
     __pyx_t_16 = PyObject_IsSubclass(__pyx_v_child, ((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_ElementBase))); if (unlikely(__pyx_t_16 == -1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 91; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_10 = (__pyx_t_16 != 0);
     __pyx_t_11 = __pyx_t_10;
@@ -81092,12 +80840,10 @@ static int __pyx_f_4lxml_5etree__validateNodeClass(xmlNode *__pyx_v_c_node, PyOb
   __pyx_t_4 = PyType_Check(__pyx_v_cls); 
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (__pyx_t_5) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   if (unlikely(!__pyx_v_expected)) { __Pyx_RaiseUnboundLocalError("expected"); {__pyx_filename = __pyx_f[9]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;} }
   __pyx_t_5 = PyObject_IsSubclass(__pyx_v_cls, ((PyObject *)__pyx_v_expected)); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 201; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = (__pyx_t_5 != 0);
@@ -82404,12 +82150,10 @@ static PyObject *__pyx_f_4lxml_5etree__lookupDefaultElementClass(PyObject *__pyx
     __pyx_t_1 = (__pyx_v_state == Py_None);
     __pyx_t_3 = (__pyx_t_1 != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L8_next_or;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_or:;
     __pyx_t_3 = (((struct __pyx_obj_4lxml_5etree_ElementDefaultClassLookup *)__pyx_v_state)->pi_class == Py_None);
     __pyx_t_1 = (__pyx_t_3 != 0);
     __pyx_t_2 = __pyx_t_1;
@@ -82425,12 +82169,10 @@ static PyObject *__pyx_f_4lxml_5etree__lookupDefaultElementClass(PyObject *__pyx
  */
       __pyx_t_1 = ((__pyx_v_c_node->name != NULL) != 0);
       if (__pyx_t_1) {
-        goto __pyx_L11_next_and;
       } else {
         __pyx_t_2 = __pyx_t_1;
         goto __pyx_L10_bool_binop_done;
       }
-      __pyx_L11_next_and:;
       __pyx_t_1 = ((__pyx_v_c_node->content != NULL) != 0);
       __pyx_t_2 = __pyx_t_1;
       __pyx_L10_bool_binop_done:;
@@ -82455,12 +82197,10 @@ static PyObject *__pyx_f_4lxml_5etree__lookupDefaultElementClass(PyObject *__pyx
  */
           __pyx_t_1 = ((xmlStrstr(__pyx_v_c_node->content, ((unsigned char *)((unsigned char *)__pyx_k_text_xsl))) != NULL) != 0);
           if (!__pyx_t_1) {
-            goto __pyx_L15_next_or;
           } else {
             __pyx_t_2 = __pyx_t_1;
             goto __pyx_L14_bool_binop_done;
           }
-          __pyx_L15_next_or:;
 
           /* "src/lxml/classlookup.pxi":332
  *                 if tree.xmlStrcmp(c_node.name, <unsigned char*>"xml-stylesheet") == 0:
@@ -84225,12 +83965,10 @@ static PyObject *__pyx_pf_4lxml_5etree_38set_element_class_lookup(CYTHON_UNUSED
   __pyx_t_2 = (((PyObject *)__pyx_v_lookup) == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = ((__pyx_v_lookup->_lookup_function == NULL) != 0);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -84655,17 +84393,14 @@ static PyObject *__pyx_pf_4lxml_5etree_18_NamespaceRegistry_2update(struct __pyx
     __pyx_t_1 = (__pyx_v_name == Py_None);
     __pyx_t_11 = (__pyx_t_1 != 0);
     if (!__pyx_t_11) {
-      goto __pyx_L11_next_or;
     } else {
       goto __pyx_L10_next_and;
     }
-    __pyx_L11_next_or:;
     __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_name, 0, 1, NULL, NULL, &__pyx_slice__46, 0, 1, 1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     __pyx_t_11 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_n_s__47, Py_NE)); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 46; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
     if (__pyx_t_11) {
-      goto __pyx_L10_next_and;
     } else {
       __pyx_t_2 = __pyx_t_11;
       goto __pyx_L9_bool_binop_done;
@@ -85407,12 +85142,10 @@ static int __pyx_pf_4lxml_5etree_23_ClassNamespaceRegistry___setitem__(struct __
  */
   __pyx_t_2 = ((!(PyType_Check(__pyx_v_item) != 0)) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = PyObject_IsSubclass(__pyx_v_item, ((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_ElementBase))); if (unlikely(__pyx_t_2 == -1)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 90; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
   __pyx_t_1 = __pyx_t_3;
@@ -90579,20 +90312,16 @@ static int __pyx_f_4lxml_5etree__setupPythonUnicode(void) {
  */
   __pyx_t_3 = (((__pyx_v_buffer[0]) == '<') != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = (((__pyx_v_buffer[1]) == '\x00') != 0);
   if (__pyx_t_3) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_and:;
 
   /* "src/lxml/parser.pxi":205
  *     # apparently, libxml2 can't detect UTF-16 on some systems
@@ -90603,12 +90332,10 @@ static int __pyx_f_4lxml_5etree__setupPythonUnicode(void) {
  */
   __pyx_t_3 = (((__pyx_v_buffer[2]) == 't') != 0);
   if (__pyx_t_3) {
-    goto __pyx_L7_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L7_next_and:;
   __pyx_t_3 = (((__pyx_v_buffer[3]) == '\x00') != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -90634,20 +90361,16 @@ static int __pyx_f_4lxml_5etree__setupPythonUnicode(void) {
  */
   __pyx_t_3 = (((__pyx_v_buffer[0]) == '\x00') != 0);
   if (__pyx_t_3) {
-    goto __pyx_L9_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_and:;
   __pyx_t_3 = (((__pyx_v_buffer[1]) == '<') != 0);
   if (__pyx_t_3) {
-    goto __pyx_L10_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L10_next_and:;
 
   /* "src/lxml/parser.pxi":208
  *         enc = "UTF-16LE"
@@ -90658,12 +90381,10 @@ static int __pyx_f_4lxml_5etree__setupPythonUnicode(void) {
  */
   __pyx_t_3 = (((__pyx_v_buffer[2]) == '\x00') != 0);
   if (__pyx_t_3) {
-    goto __pyx_L11_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L11_next_and:;
   __pyx_t_3 = (((__pyx_v_buffer[3]) == 't') != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L8_bool_binop_done:;
@@ -91253,12 +90974,10 @@ static PyObject *__pyx_f_4lxml_5etree_18_FileReaderContext__close_file(struct __
   __pyx_t_2 = (__pyx_v_self->_filelike == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = ((!(__pyx_v_self->_close_file_after_read != 0)) != 0);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -93760,12 +93479,10 @@ static void __pyx_pf_4lxml_5etree_14_ParserContext_2__dealloc__(struct __pyx_obj
  */
   __pyx_t_2 = (ENABLE_THREADING != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_self->_lock != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -94094,12 +93811,10 @@ static int __pyx_f_4lxml_5etree_14_ParserContext_prepare(struct __pyx_obj_4lxml_
  */
   __pyx_t_2 = (ENABLE_THREADING != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_self->_lock != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -94348,12 +94063,10 @@ static int __pyx_f_4lxml_5etree_14_ParserContext_cleanup(struct __pyx_obj_4lxml_
  */
   __pyx_t_1 = (ENABLE_THREADING != 0);
   if (__pyx_t_1) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_1;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_1 = ((__pyx_v_self->_lock != NULL) != 0);
   __pyx_t_2 = __pyx_t_1;
   __pyx_L5_bool_binop_done:;
@@ -94437,12 +94150,10 @@ static PyObject *__pyx_f_4lxml_5etree_14_ParserContext__handleParseResult(struct
   __pyx_t_3 = (((PyObject *)__pyx_v_self->_doc) != Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_4 = ((__pyx_v_self->_doc->_c_doc == __pyx_v_c_doc) != 0);
   __pyx_t_2 = __pyx_t_4;
   __pyx_L4_bool_binop_done:;
@@ -94693,12 +94404,10 @@ static void __pyx_f_4lxml_5etree__receiveParserError(void *__pyx_v_c_context, xm
  */
   __pyx_t_2 = ((__pyx_v_c_context == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = ((((xmlParserCtxt *)__pyx_v_c_context)->_private == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -94786,12 +94495,10 @@ static int __pyx_f_4lxml_5etree__raiseParseError(xmlParserCtxt *__pyx_v_ctxt, Py
   __pyx_t_2 = (__pyx_v_filename != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
 
   /* "src/lxml/parser.pxi":604
  *                           _ErrorLog error_log) except 0:
@@ -95411,12 +95118,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
     __pyx_t_2 = (((PyObject *)__pyx_v_context->_validator) != Py_None);
     __pyx_t_3 = (__pyx_t_2 != 0);
     if (__pyx_t_3) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
 
     /* "src/lxml/parser.pxi":649
  *     if result is not NULL:
@@ -95450,20 +95155,16 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
  */
     __pyx_t_3 = ((!(__pyx_v_c_ctxt->wellFormed != 0)) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L11_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L10_bool_binop_done;
     }
-    __pyx_L11_next_and:;
     __pyx_t_3 = ((!(__pyx_v_c_ctxt->html != 0)) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L10_bool_binop_done;
     }
-    __pyx_L12_next_and:;
 
     /* "src/lxml/parser.pxi":652
  *             well_formed = 0  # actually not 'valid', but anyway ...
@@ -95474,12 +95175,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
  */
     __pyx_t_3 = ((__pyx_v_c_ctxt->charset == XML_CHAR_ENCODING_8859_1) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L13_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L10_bool_binop_done;
     }
-    __pyx_L13_next_and:;
 
     /* "src/lxml/parser.pxi":653
  *         elif (not c_ctxt.wellFormed and not c_ctxt.html and
@@ -95590,20 +95289,16 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
  */
     __pyx_t_3 = (__pyx_v_recover != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L18_next_or;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L17_bool_binop_done;
     }
-    __pyx_L18_next_or:;
     __pyx_t_3 = (__pyx_v_c_ctxt->wellFormed != 0);
     if (__pyx_t_3) {
-      goto __pyx_L19_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L17_bool_binop_done;
     }
-    __pyx_L19_next_and:;
 
     /* "src/lxml/parser.pxi":661
  *             well_formed = 0
@@ -95637,12 +95332,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
  */
     __pyx_t_3 = ((!(__pyx_v_c_ctxt->replaceEntities != 0)) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L21_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L20_bool_binop_done;
     }
-    __pyx_L21_next_and:;
 
     /* "src/lxml/parser.pxi":664
  *             well_formed = 1
@@ -95653,12 +95346,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
  */
     __pyx_t_3 = ((!(__pyx_v_c_ctxt->validate != 0)) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L22_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L20_bool_binop_done;
     }
-    __pyx_L22_next_and:;
     __pyx_t_3 = (((PyObject *)__pyx_v_context) != Py_None);
     __pyx_t_2 = (__pyx_t_3 != 0);
     __pyx_t_1 = __pyx_t_2;
@@ -95753,12 +95444,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
         __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
         if (__pyx_t_2) {
-          goto __pyx_L27_next_and;
         } else {
           __pyx_t_1 = __pyx_t_2;
           goto __pyx_L26_bool_binop_done;
         }
-        __pyx_L27_next_and:;
 
         /* "src/lxml/parser.pxi":668
  *             for error in context._error_log.filter_from_errors():
@@ -95903,12 +95592,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
   __pyx_t_2 = (((PyObject *)__pyx_v_context) != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L33_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L32_bool_binop_done;
   }
-  __pyx_L33_next_and:;
   __pyx_t_3 = (((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);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L32_bool_binop_done:;
@@ -96029,12 +95716,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
  */
     __pyx_t_1 = ((__pyx_v_result->URL == NULL) != 0);
     if (__pyx_t_1) {
-      goto __pyx_L40_next_and;
     } else {
       __pyx_t_3 = __pyx_t_1;
       goto __pyx_L39_bool_binop_done;
     }
-    __pyx_L40_next_and:;
     __pyx_t_1 = (__pyx_v_filename != Py_None);
     __pyx_t_2 = (__pyx_t_1 != 0);
     __pyx_t_3 = __pyx_t_2;
@@ -96087,12 +95772,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__handleParseResult(struct __pyx_obj_4lxml_5e
   __pyx_t_2 = (((PyObject *)__pyx_v_context->_validator) != Py_None);
   __pyx_t_1 = (__pyx_t_2 != 0);
   if (__pyx_t_1) {
-    goto __pyx_L44_next_and;
   } else {
     __pyx_t_3 = __pyx_t_1;
     goto __pyx_L43_bool_binop_done;
   }
-  __pyx_L44_next_and:;
 
   /* "src/lxml/parser.pxi":700
  * 
@@ -96762,12 +96445,10 @@ static int __pyx_pf_4lxml_5etree_11_BaseParser___init__(struct __pyx_obj_4lxml_5
   __pyx_t_2 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_ptype_4lxml_5etree_XMLParser)); 
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = __Pyx_TypeCheck(((PyObject *)__pyx_v_self), ((PyObject*)__pyx_ptype_4lxml_5etree_HTMLParser)); 
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -97906,20 +97587,16 @@ static int __pyx_f_4lxml_5etree_11_BaseParser__registerHtmlErrorHandler(CYTHON_U
  */
   __pyx_t_3 = ((__pyx_v_sax != NULL) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = (__pyx_v_sax->initialized != 0);
   if (__pyx_t_3) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_3 = ((__pyx_v_sax->initialized != XML_SAX2_MAGIC) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -99322,12 +98999,10 @@ static xmlDoc *__pyx_f_4lxml_5etree_11_BaseParser__parseUnicodeDoc(struct __pyx_
  */
   __pyx_t_2 = (CYTHON_PEP393_ENABLED != 0);
   if (__pyx_t_2) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
   __pyx_t_2 = (PyUnicode_IS_READY(__pyx_v_utext) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L3_bool_binop_done:;
@@ -100655,13 +100330,11 @@ static xmlDoc *__pyx_f_4lxml_5etree_11_BaseParser__parseDocFromFilelike(struct _
  */
     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_encoding); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1143; __pyx_clineno = __LINE__; goto __pyx_L5_error;}
     if (!__pyx_t_2) {
-      goto __pyx_L8_next_or;
     } else {
       __Pyx_INCREF(__pyx_v_encoding);
       __pyx_t_3 = __pyx_v_encoding;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_or:;
     __Pyx_INCREF(__pyx_v_self->_default_encoding);
     __pyx_t_3 = __pyx_v_self->_default_encoding;
     __pyx_L7_bool_binop_done:;
@@ -100893,20 +100566,16 @@ static void __pyx_f_4lxml_5etree__initSaxDocument(void *__pyx_v_ctxt) {
  */
   __pyx_t_3 = (__pyx_v_c_doc != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = (__pyx_v_c_ctxt->dict != 0);
   if (__pyx_t_3) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_3 = ((!(__pyx_v_c_doc->dict != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -100952,12 +100621,10 @@ static void __pyx_f_4lxml_5etree__initSaxDocument(void *__pyx_v_ctxt) {
  */
   __pyx_t_3 = (__pyx_v_c_ctxt->_private != 0);
   if (__pyx_t_3) {
-    goto __pyx_L9_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_and:;
   __pyx_t_3 = ((!(__pyx_v_c_ctxt->html != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L8_bool_binop_done:;
@@ -100994,12 +100661,10 @@ static void __pyx_f_4lxml_5etree__initSaxDocument(void *__pyx_v_ctxt) {
  */
       __pyx_t_3 = (__pyx_v_c_doc != 0);
       if (__pyx_t_3) {
-        goto __pyx_L13_next_and;
       } else {
         __pyx_t_2 = __pyx_t_3;
         goto __pyx_L12_bool_binop_done;
       }
-      __pyx_L13_next_and:;
       __pyx_t_3 = ((!(__pyx_v_c_doc->ids != 0)) != 0);
       __pyx_t_2 = __pyx_t_3;
       __pyx_L12_bool_binop_done:;
@@ -101080,20 +100745,16 @@ static void __pyx_f_4lxml_5etree__initSaxDocument(void *__pyx_v_ctxt) {
  */
       __pyx_t_3 = (__pyx_v_c_doc != 0);
       if (__pyx_t_3) {
-        goto __pyx_L17_next_and;
       } else {
         __pyx_t_2 = __pyx_t_3;
         goto __pyx_L16_bool_binop_done;
       }
-      __pyx_L17_next_and:;
       __pyx_t_3 = (__pyx_v_c_doc->ids != 0);
       if (__pyx_t_3) {
-        goto __pyx_L18_next_and;
       } else {
         __pyx_t_2 = __pyx_t_3;
         goto __pyx_L16_bool_binop_done;
       }
-      __pyx_L18_next_and:;
       __pyx_t_3 = ((!(xmlHashSize(__pyx_v_c_doc->ids) != 0)) != 0);
       __pyx_t_2 = __pyx_t_3;
       __pyx_L16_bool_binop_done:;
@@ -101558,12 +101219,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
     __pyx_t_6 = ((__pyx_v_c_encoding == NULL) != 0);
     if (__pyx_t_6) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_7 = __pyx_t_6;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
     __pyx_t_6 = ((__pyx_v_py_buffer_len >= 2) != 0);
     __pyx_t_7 = __pyx_t_6;
     __pyx_L8_bool_binop_done:;
@@ -101622,12 +101281,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
           __pyx_t_6 = (((__pyx_v_c_data[0]) == '\xEF') != 0);
           if (__pyx_t_6) {
-            goto __pyx_L13_next_and;
           } else {
             __pyx_t_7 = __pyx_t_6;
             goto __pyx_L12_bool_binop_done;
           }
-          __pyx_L13_next_and:;
 
           /* "src/lxml/parser.pxi":1263
  *                         # found it => skip over BOM (if there is one)
@@ -101638,12 +101295,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
           __pyx_t_6 = (((__pyx_v_c_data[1]) == '\xBB') != 0);
           if (__pyx_t_6) {
-            goto __pyx_L14_next_and;
           } else {
             __pyx_t_7 = __pyx_t_6;
             goto __pyx_L12_bool_binop_done;
           }
-          __pyx_L14_next_and:;
 
           /* "src/lxml/parser.pxi":1264
  *                         if (c_data[0] == b'\xef' and
@@ -101688,12 +101343,9 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
           if (!__pyx_t_6) {
             goto __pyx_L16_next_or;
           } else {
-            goto __pyx_L17_next_and;
           }
-          __pyx_L17_next_and:;
           __pyx_t_6 = (((__pyx_v_c_data[1]) == '\xFF') != 0);
           if (!__pyx_t_6) {
-            goto __pyx_L16_next_or;
           } else {
             __pyx_t_7 = __pyx_t_6;
             goto __pyx_L15_bool_binop_done;
@@ -101709,12 +101361,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
           __pyx_t_6 = (((__pyx_v_c_data[0]) == '\xFF') != 0);
           if (__pyx_t_6) {
-            goto __pyx_L18_next_and;
           } else {
             __pyx_t_7 = __pyx_t_6;
             goto __pyx_L15_bool_binop_done;
           }
-          __pyx_L18_next_and:;
           __pyx_t_6 = (((__pyx_v_c_data[1]) == '\xFE') != 0);
           __pyx_t_7 = __pyx_t_6;
           __pyx_L15_bool_binop_done:;
@@ -101844,20 +101494,16 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
   while (1) {
     __pyx_t_6 = ((__pyx_v_py_buffer_len > 0) != 0);
     if (__pyx_t_6) {
-      goto __pyx_L24_next_and;
     } else {
       __pyx_t_7 = __pyx_t_6;
       goto __pyx_L23_bool_binop_done;
     }
-    __pyx_L24_next_and:;
     __pyx_t_6 = ((__pyx_v_error == 0) != 0);
     if (!__pyx_t_6) {
-      goto __pyx_L25_next_or;
     } else {
       __pyx_t_7 = __pyx_t_6;
       goto __pyx_L23_bool_binop_done;
     }
-    __pyx_L25_next_or:;
     __pyx_t_6 = (__pyx_v_recover != 0);
     __pyx_t_7 = __pyx_t_6;
     __pyx_L23_bool_binop_done:;
@@ -101967,12 +101613,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
               __pyx_t_6 = (__pyx_v_pctxt->myDoc->dict != 0);
               if (__pyx_t_6) {
-                goto __pyx_L36_next_and;
               } else {
                 __pyx_t_7 = __pyx_t_6;
                 goto __pyx_L35_bool_binop_done;
               }
-              __pyx_L36_next_and:;
               __pyx_t_6 = ((__pyx_v_pctxt->myDoc->dict != __pyx_v_pctxt->dict) != 0);
               __pyx_t_7 = __pyx_t_6;
               __pyx_L35_bool_binop_done:;
@@ -102072,12 +101716,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
     __pyx_t_6 = (__pyx_v_fixup_error != 0);
     if (__pyx_t_6) {
-      goto __pyx_L39_next_and;
     } else {
       __pyx_t_7 = __pyx_t_6;
       goto __pyx_L38_bool_binop_done;
     }
-    __pyx_L39_next_and:;
     __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_context), __pyx_n_s_has_raised); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1310; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __pyx_t_3 = NULL;
@@ -102156,20 +101798,16 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
     __pyx_t_14 = (__pyx_v_error != 0);
     if (__pyx_t_14) {
-      goto __pyx_L42_next_and;
     } else {
       __pyx_t_7 = __pyx_t_14;
       goto __pyx_L41_bool_binop_done;
     }
-    __pyx_L42_next_and:;
     __pyx_t_14 = ((!(__pyx_v_pctxt->replaceEntities != 0)) != 0);
     if (__pyx_t_14) {
-      goto __pyx_L43_next_and;
     } else {
       __pyx_t_7 = __pyx_t_14;
       goto __pyx_L41_bool_binop_done;
     }
-    __pyx_L43_next_and:;
     __pyx_t_14 = ((!(__pyx_v_pctxt->validate != 0)) != 0);
     __pyx_t_7 = __pyx_t_14;
     __pyx_L41_bool_binop_done:;
@@ -102263,12 +101901,10 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
         __pyx_t_14 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_14 < 0)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1316; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
         if (__pyx_t_14) {
-          goto __pyx_L48_next_and;
         } else {
           __pyx_t_7 = __pyx_t_14;
           goto __pyx_L47_bool_binop_done;
         }
-        __pyx_L48_next_and:;
 
         /* "src/lxml/parser.pxi":1317
  *                 for entry in context._error_log.filter_from_errors():
@@ -102346,28 +101982,22 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_feed(struct __pyx_obj_4lxml_
  */
   __pyx_t_14 = (__pyx_v_fixup_error != 0);
   if (!__pyx_t_14) {
-    goto __pyx_L52_next_or;
   } else {
     __pyx_t_7 = __pyx_t_14;
     goto __pyx_L51_bool_binop_done;
   }
-  __pyx_L52_next_or:;
   __pyx_t_14 = ((!(__pyx_v_recover != 0)) != 0);
   if (__pyx_t_14) {
-    goto __pyx_L53_next_and;
   } else {
     __pyx_t_7 = __pyx_t_14;
     goto __pyx_L51_bool_binop_done;
   }
-  __pyx_L53_next_and:;
   __pyx_t_14 = (__pyx_v_error != 0);
   if (!__pyx_t_14) {
-    goto __pyx_L54_next_or;
   } else {
     __pyx_t_7 = __pyx_t_14;
     goto __pyx_L51_bool_binop_done;
   }
-  __pyx_L54_next_or:;
   __pyx_t_14 = ((!(__pyx_v_pctxt->wellFormed != 0)) != 0);
   __pyx_t_7 = __pyx_t_14;
   __pyx_L51_bool_binop_done:;
@@ -102748,20 +102378,16 @@ static PyObject *__pyx_f_4lxml_5etree_11_FeedParser_close(struct __pyx_obj_4lxml
  */
   __pyx_t_9 = (__pyx_v_pctxt->recovery != 0);
   if (__pyx_t_9) {
-    goto __pyx_L7_next_and;
   } else {
     __pyx_t_5 = __pyx_t_9;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L7_next_and:;
   __pyx_t_9 = ((!(__pyx_v_pctxt->disableSAX != 0)) != 0);
   if (__pyx_t_9) {
-    goto __pyx_L8_next_and;
   } else {
     __pyx_t_5 = __pyx_t_9;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L8_next_and:;
 
   /* "src/lxml/parser.pxi":1354
  * 
@@ -103058,12 +102684,10 @@ static int __pyx_f_4lxml_5etree__htmlCtxtResetPush(xmlParserCtxt *__pyx_v_c_ctxt
  */
   __pyx_t_2 = ((__pyx_v_c_data != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_2 = ((__pyx_v_buffer_len > 0) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L5_bool_binop_done:;
@@ -105187,12 +104811,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__parseDoc(PyObject *__pyx_v_text, PyObject *
  */
     __pyx_t_1 = (CYTHON_PEP393_ENABLED != 0);
     if (__pyx_t_1) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_1 = (PyUnicode_IS_READY(__pyx_v_text) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L6_bool_binop_done:;
@@ -105306,12 +104928,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__parseDoc(PyObject *__pyx_v_text, PyObject *
  */
     __pyx_t_1 = ((__pyx_v_4lxml_5etree__UNICODE_ENCODING == NULL) != 0);
     if (__pyx_t_1) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
     __pyx_t_1 = ((!(__pyx_v_is_pep393_string != 0)) != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L11_bool_binop_done:;
@@ -106384,12 +106004,10 @@ static struct LxmlDocument *__pyx_f_4lxml_5etree__parseDocument(PyObject *__pyx_
   __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 = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (__pyx_t_5) {
-    goto __pyx_L9_next_and;
   } else {
     __pyx_t_1 = __pyx_t_5;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_and:;
   __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 = 1805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_4 = (__pyx_t_5 != 0);
   __pyx_t_1 = __pyx_t_4;
@@ -107991,12 +107609,10 @@ static void __pyx_f_4lxml_5etree_17_SaxParserContext__connectEvents(struct __pyx
  */
   __pyx_t_6 = ((__pyx_v_self->_event_filter == 0) != 0);
   if (!__pyx_t_6) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_5 = __pyx_t_6;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
 
   /* "src/lxml/saxparser.pxi":153
  *         # only override start event handler if needed
@@ -108060,12 +107676,10 @@ static void __pyx_f_4lxml_5etree_17_SaxParserContext__connectEvents(struct __pyx
  */
   __pyx_t_6 = ((__pyx_v_self->_event_filter == 0) != 0);
   if (!__pyx_t_6) {
-    goto __pyx_L8_next_or;
   } else {
     __pyx_t_5 = __pyx_t_6;
     goto __pyx_L7_bool_binop_done;
   }
-  __pyx_L8_next_or:;
 
   /* "src/lxml/saxparser.pxi":164
  *         # only override end event handler if needed
@@ -108217,21 +107831,17 @@ static PyObject *__pyx_f_4lxml_5etree_17_SaxParserContext__setEventFilter(struct
  */
   __pyx_t_3 = ((!(__pyx_v_self->_event_filter != 0)) != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = (__pyx_v_tag == Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_tag, __pyx_kp_s__35, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 179; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = __pyx_t_4;
   __pyx_L4_bool_binop_done:;
@@ -108525,12 +108135,10 @@ static int __pyx_f_4lxml_5etree_17_SaxParserContext_pushEvent(struct __pyx_obj_4
     __pyx_t_1 = (((PyObject *)__pyx_v_root) != Py_None);
     __pyx_t_4 = (__pyx_t_1 != 0);
     if (__pyx_t_4) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_2 = __pyx_t_4;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_4 = ((__pyx_v_root->_c_node->type == XML_ELEMENT_NODE) != 0);
     __pyx_t_2 = __pyx_t_4;
     __pyx_L5_bool_binop_done:;
@@ -109409,12 +109017,10 @@ static void __pyx_f_4lxml_5etree__handleSaxStart(void *__pyx_v_ctxt, const xmlCh
  */
         __pyx_t_6 = (__pyx_v_c_nb_namespaces != 0);
         if (__pyx_t_6) {
-          goto __pyx_L17_next_and;
         } else {
           __pyx_t_1 = __pyx_t_6;
           goto __pyx_L16_bool_binop_done;
         }
-        __pyx_L17_next_and:;
 
         /* "src/lxml/saxparser.pxi":274
  *     try:
@@ -109738,12 +109344,10 @@ static void __pyx_f_4lxml_5etree__handleSaxTargetStart(void *__pyx_v_ctxt, const
  */
         __pyx_t_6 = (__pyx_v_c_nb_namespaces != 0);
         if (__pyx_t_6) {
-          goto __pyx_L17_next_and;
         } else {
           __pyx_t_1 = __pyx_t_6;
           goto __pyx_L16_bool_binop_done;
         }
-        __pyx_L17_next_and:;
 
         /* "src/lxml/saxparser.pxi":308
  *     try:
@@ -110836,12 +110440,10 @@ static PyObject *__pyx_f_4lxml_5etree__callTargetSaxStart(struct __pyx_obj_4lxml
   __pyx_t_3 = (__pyx_v_element != Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_4 = ((__pyx_v_c_ctxt->input != NULL) != 0);
   __pyx_t_2 = __pyx_t_4;
   __pyx_L4_bool_binop_done:;
@@ -110959,12 +110561,10 @@ static int __pyx_f_4lxml_5etree__pushSaxStartEvent(struct __pyx_obj_4lxml_5etree
   __pyx_t_2 = (((PyObject *)__pyx_v_context->_matcher) == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
 
   /* "src/lxml/saxparser.pxi":416
  *                             const_xmlChar* c_name, node) except -1:
@@ -110988,12 +110588,10 @@ static int __pyx_f_4lxml_5etree__pushSaxStartEvent(struct __pyx_obj_4lxml_5etree
     __pyx_t_3 = (__pyx_v_node == Py_None);
     __pyx_t_2 = (__pyx_t_3 != 0);
     if (__pyx_t_2) {
-      goto __pyx_L8_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_and:;
     __pyx_t_2 = (((PyObject *)__pyx_v_context->_target) == Py_None);
     __pyx_t_3 = (__pyx_t_2 != 0);
     __pyx_t_1 = __pyx_t_3;
@@ -111080,12 +110678,10 @@ static int __pyx_f_4lxml_5etree__pushSaxStartEvent(struct __pyx_obj_4lxml_5etree
     __pyx_t_3 = (((PyObject *)__pyx_v_context->_target) == Py_None);
     __pyx_t_2 = (__pyx_t_3 != 0);
     if (__pyx_t_2) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
 
     /* "src/lxml/saxparser.pxi":423
  *             context.events_iterator._events.append(('start', node))
@@ -111823,12 +111419,10 @@ static int __pyx_f_4lxml_5etree__pushSaxEndEvent(struct __pyx_obj_4lxml_5etree__
     __pyx_t_2 = (((PyObject *)__pyx_v_context->_matcher) == Py_None);
     __pyx_t_3 = (__pyx_t_2 != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L6_next_or;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_or:;
 
     /* "src/lxml/saxparser.pxi":484
  *     if context._event_filter & PARSE_EVENT_FILTER_END:
@@ -111979,12 +111573,10 @@ static void __pyx_f_4lxml_5etree__handleSaxData(void *__pyx_v_ctxt, const xmlCha
  */
   __pyx_t_2 = ((__pyx_v_c_ctxt->_private == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = (__pyx_v_c_ctxt->disableSAX != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -115691,12 +115283,10 @@ static int __pyx_pf_4lxml_5etree_22_PythonSaxParserTarget___cinit__(struct __pyx
           __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
           __pyx_t_5 = ((__pyx_t_13 > 3) != 0);
           if (!__pyx_t_5) {
-            goto __pyx_L22_next_or;
           } else {
             __pyx_t_6 = __pyx_t_5;
             goto __pyx_L21_bool_binop_done;
           }
-          __pyx_L22_next_or:;
           __pyx_t_4 = __Pyx_GetItemInt(__pyx_v_arguments, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_4 == NULL)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 37; __pyx_clineno = __LINE__; goto __pyx_L12_error;};
           __Pyx_GOTREF(__pyx_t_4);
           __pyx_t_5 = (__pyx_t_4 != Py_None);
@@ -116857,12 +116447,10 @@ static int __pyx_f_4lxml_5etree_20_TargetParserContext__setTarget(struct __pyx_o
   __pyx_t_2 = __Pyx_TypeCheck(__pyx_v_target, ((PyObject*)__pyx_ptype_4lxml_5etree__SaxParserTarget)); 
   __pyx_t_3 = ((!(__pyx_t_2 != 0)) != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
 
   /* "src/lxml/parsertarget.pxi":104
  *         self._python_target = target
@@ -117047,12 +116635,10 @@ static void __pyx_f_4lxml_5etree_20_TargetParserContext__cleanupTargetParserCont
  */
     __pyx_t_2 = ((__pyx_v_self->__pyx_base.__pyx_base._c_ctxt->myDoc != __pyx_v_result) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
 
     /* "src/lxml/parsertarget.pxi":118
  *         if self._c_ctxt.myDoc is not NULL:
@@ -117198,12 +116784,10 @@ static PyObject *__pyx_f_4lxml_5etree_20_TargetParserContext__handleParseResult(
  */
       __pyx_t_6 = ((!(__pyx_v_self->__pyx_base.__pyx_base._c_ctxt->wellFormed != 0)) != 0);
       if (__pyx_t_6) {
-        goto __pyx_L14_next_and;
       } else {
         __pyx_t_4 = __pyx_t_6;
         goto __pyx_L13_bool_binop_done;
       }
-      __pyx_L14_next_and:;
       __pyx_t_6 = ((!(__pyx_v_recover != 0)) != 0);
       __pyx_t_4 = __pyx_t_6;
       __pyx_L13_bool_binop_done:;
@@ -117531,12 +117115,10 @@ static xmlDoc *__pyx_f_4lxml_5etree_20_TargetParserContext__handleParseResultDoc
  */
   __pyx_t_2 = ((__pyx_v_result != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_result->_private == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -117595,12 +117177,10 @@ static xmlDoc *__pyx_f_4lxml_5etree_20_TargetParserContext__handleParseResultDoc
  */
       __pyx_t_2 = ((!(__pyx_v_self->__pyx_base.__pyx_base._c_ctxt->wellFormed != 0)) != 0);
       if (__pyx_t_2) {
-        goto __pyx_L16_next_and;
       } else {
         __pyx_t_1 = __pyx_t_2;
         goto __pyx_L15_bool_binop_done;
       }
-      __pyx_L16_next_and:;
       __pyx_t_2 = ((!(__pyx_v_recover != 0)) != 0);
       __pyx_t_1 = __pyx_t_2;
       __pyx_L15_bool_binop_done:;
@@ -118266,12 +117846,10 @@ static PyObject *__pyx_f_4lxml_5etree__textToString(xmlNode *__pyx_v_c_node, PyO
  */
   __pyx_t_2 = ((__pyx_v_error_result < 0) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L12_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L11_bool_binop_done;
   }
-  __pyx_L12_next_or:;
   __pyx_t_2 = ((__pyx_v_c_text == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L11_bool_binop_done:;
@@ -118392,12 +117970,10 @@ static PyObject *__pyx_f_4lxml_5etree__textToString(xmlNode *__pyx_v_c_node, PyO
       __pyx_t_3 = __pyx_v_encoding;
       __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_n_u_utf8, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L14_error;}
       if (__pyx_t_2) {
-        goto __pyx_L19_next_and;
       } else {
         __pyx_t_1 = __pyx_t_2;
         goto __pyx_L18_bool_binop_done;
       }
-      __pyx_L19_next_and:;
       __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_t_3, __pyx_kp_u_utf_8, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 58; __pyx_clineno = __LINE__; goto __pyx_L14_error;}
       __pyx_t_1 = __pyx_t_2;
       __pyx_L18_bool_binop_done:;
@@ -118745,12 +118321,10 @@ static PyObject *__pyx_f_4lxml_5etree__tostring(struct LxmlElement *__pyx_v_elem
   __pyx_t_1 = (__pyx_v_encoding == Py_None);
   __pyx_t_5 = (__pyx_t_1 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L7_next_or;
   } else {
     __pyx_t_2 = __pyx_t_5;
     goto __pyx_L6_bool_binop_done;
   }
-  __pyx_L7_next_or:;
   __pyx_t_5 = (__pyx_v_encoding == __pyx_v_4lxml_5etree__unicode);
   __pyx_t_1 = (__pyx_t_5 != 0);
   __pyx_t_2 = __pyx_t_1;
@@ -118856,12 +118430,10 @@ static PyObject *__pyx_f_4lxml_5etree__tostring(struct LxmlElement *__pyx_v_elem
  */
   __pyx_t_2 = ((__pyx_v_enchandler == NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L11_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L10_bool_binop_done;
   }
-  __pyx_L11_next_and:;
   __pyx_t_2 = ((__pyx_v_c_enc != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L10_bool_binop_done:;
@@ -119490,12 +119062,10 @@ static PyObject *__pyx_f_4lxml_5etree__tostringC14N(PyObject *__pyx_v_element_or
  */
   __pyx_t_1 = ((__pyx_v_byte_count < 0) != 0);
   if (!__pyx_t_1) {
-    goto __pyx_L13_next_or;
   } else {
     __pyx_t_2 = __pyx_t_1;
     goto __pyx_L12_bool_binop_done;
   }
-  __pyx_L13_next_or:;
   __pyx_t_1 = ((__pyx_v_c_buffer == NULL) != 0);
   __pyx_t_2 = __pyx_t_1;
   __pyx_L12_bool_binop_done:;
@@ -119863,12 +119433,10 @@ static void __pyx_f_4lxml_5etree__writeNodeToBuffer(xmlOutputBuffer *__pyx_v_c_b
  */
   __pyx_t_3 = (__pyx_v_write_xml_declaration != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = ((__pyx_v_c_method == __pyx_e_4lxml_5etree_OUTPUT_METHOD_XML) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -119917,12 +119485,10 @@ static void __pyx_f_4lxml_5etree__writeNodeToBuffer(xmlOutputBuffer *__pyx_v_c_b
  */
   __pyx_t_3 = (__pyx_v_write_complete_document != 0);
   if (__pyx_t_3) {
-    goto __pyx_L9_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_and:;
   __pyx_t_3 = ((!(__pyx_v_c_buffer->error != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L8_bool_binop_done:;
@@ -119980,12 +119546,10 @@ static void __pyx_f_4lxml_5etree__writeNodeToBuffer(xmlOutputBuffer *__pyx_v_c_b
  */
   __pyx_t_3 = ((!(__pyx_v_c_node->parent != 0)) != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L13_next_or;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L12_bool_binop_done;
   }
-  __pyx_L13_next_or:;
   __pyx_t_3 = ((__pyx_v_c_node->parent->type != XML_DOCUMENT_NODE) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L12_bool_binop_done:;
@@ -120409,12 +119973,10 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
  */
   __pyx_t_3 = ((!(__pyx_v_c_dtd != 0)) != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = ((!(__pyx_v_c_dtd->name != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -120477,12 +120039,10 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
  */
   __pyx_t_3 = (__pyx_v_c_dtd->SystemID != 0);
   if (__pyx_t_3) {
-    goto __pyx_L9_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_and:;
   __pyx_t_3 = (((__pyx_v_c_dtd->SystemID[0]) != '\x00') != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L8_bool_binop_done:;
@@ -120497,12 +120057,10 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
  */
     __pyx_t_3 = ((__pyx_v_c_dtd->ExternalID != NULL) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
     __pyx_t_3 = (((__pyx_v_c_dtd->ExternalID[0]) != '\x00') != 0);
     __pyx_t_2 = __pyx_t_3;
     __pyx_L11_bool_binop_done:;
@@ -120579,20 +120137,16 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
  */
   __pyx_t_3 = ((!(__pyx_v_c_dtd->entities != 0)) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L15_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L14_bool_binop_done;
   }
-  __pyx_L15_next_and:;
   __pyx_t_3 = ((!(__pyx_v_c_dtd->elements != 0)) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L16_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L14_bool_binop_done;
   }
-  __pyx_L16_next_and:;
 
   /* "src/lxml/serializer.pxi":300
  *         tree.xmlOutputBufferWrite(c_buffer, 1, '"')
@@ -120603,20 +120157,16 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
  */
   __pyx_t_3 = ((!(__pyx_v_c_dtd->attributes != 0)) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L17_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L14_bool_binop_done;
   }
-  __pyx_L17_next_and:;
   __pyx_t_3 = ((!(__pyx_v_c_dtd->notations != 0)) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L18_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L14_bool_binop_done;
   }
-  __pyx_L18_next_and:;
 
   /* "src/lxml/serializer.pxi":301
  *     if not c_dtd.entities and not c_dtd.elements and \
@@ -120667,12 +120217,10 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
  */
   __pyx_t_3 = (__pyx_v_c_dtd->notations != 0);
   if (__pyx_t_3) {
-    goto __pyx_L21_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L20_bool_binop_done;
   }
-  __pyx_L21_next_and:;
   __pyx_t_3 = ((!(__pyx_v_c_buffer->error != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L20_bool_binop_done:;
@@ -120766,12 +120314,10 @@ static void __pyx_f_4lxml_5etree__writeDtdToBuffer(xmlOutputBuffer *__pyx_v_c_bu
   while (1) {
     __pyx_t_3 = (__pyx_v_c_node != 0);
     if (__pyx_t_3) {
-      goto __pyx_L26_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L25_bool_binop_done;
     }
-    __pyx_L26_next_and:;
     __pyx_t_3 = ((!(__pyx_v_c_buffer->error != 0)) != 0);
     __pyx_t_2 = __pyx_t_3;
     __pyx_L25_bool_binop_done:;
@@ -120851,20 +120397,16 @@ static void __pyx_f_4lxml_5etree__writeTail(xmlOutputBuffer *__pyx_v_c_buffer, x
   while (1) {
     __pyx_t_3 = (__pyx_v_c_node != 0);
     if (__pyx_t_3) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_3 = ((__pyx_v_c_node->type == XML_TEXT_NODE) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_3 = ((!(__pyx_v_c_buffer->error != 0)) != 0);
     __pyx_t_2 = __pyx_t_3;
     __pyx_L5_bool_binop_done:;
@@ -120948,12 +120490,10 @@ static void __pyx_f_4lxml_5etree__writePrevSiblings(xmlOutputBuffer *__pyx_v_c_b
  */
   __pyx_t_2 = (__pyx_v_c_node->parent != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = (_isElement(__pyx_v_c_node->parent) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -120988,12 +120528,10 @@ static void __pyx_f_4lxml_5etree__writePrevSiblings(xmlOutputBuffer *__pyx_v_c_b
   while (1) {
     __pyx_t_2 = (__pyx_v_c_sibling->prev != 0);
     if (__pyx_t_2) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
 
     /* "src/lxml/serializer.pxi":342
  *     c_sibling = c_node
@@ -121052,12 +120590,10 @@ static void __pyx_f_4lxml_5etree__writePrevSiblings(xmlOutputBuffer *__pyx_v_c_b
   while (1) {
     __pyx_t_2 = ((__pyx_v_c_sibling != __pyx_v_c_node) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L13_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L12_bool_binop_done;
     }
-    __pyx_L13_next_and:;
     __pyx_t_2 = ((!(__pyx_v_c_buffer->error != 0)) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L12_bool_binop_done:;
@@ -121140,12 +120676,10 @@ static void __pyx_f_4lxml_5etree__writeNextSiblings(xmlOutputBuffer *__pyx_v_c_b
  */
   __pyx_t_2 = (__pyx_v_c_node->parent != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = (_isElement(__pyx_v_c_node->parent) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -121181,20 +120715,16 @@ static void __pyx_f_4lxml_5etree__writeNextSiblings(xmlOutputBuffer *__pyx_v_c_b
   while (1) {
     __pyx_t_2 = ((!(__pyx_v_c_buffer->error != 0)) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
     __pyx_t_2 = (__pyx_v_c_sibling != 0);
     if (__pyx_t_2) {
-      goto __pyx_L10_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L10_next_and:;
 
     /* "src/lxml/serializer.pxi":360
  *     c_sibling = c_node.next
@@ -121402,12 +120932,10 @@ static int __pyx_pf_4lxml_5etree_15_FilelikeWriter___cinit__(struct __pyx_obj_4l
   __pyx_t_2 = (__pyx_v_compression != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_4 = PyObject_RichCompare(__pyx_v_compression, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 379; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
@@ -124393,8 +123921,8 @@ static PyObject *__pyx_f_4lxml_5etree__tofilelikeC14N(PyObject *__pyx_v_f, struc
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":647
- *     cdef bint buffered
+/* "src/lxml/serializer.pxi":648
+ *     cdef int method
  * 
  *     def __init__(self, output_file not None, encoding=None, compression=None,             # <<<<<<<<<<<<<<
  *                  close=False, buffered=True):
@@ -124421,7 +123949,7 @@ static int __pyx_pw_4lxml_5etree_7xmlfile_1__init__(PyObject *__pyx_v_self, PyOb
     values[1] = ((PyObject *)Py_None);
     values[2] = ((PyObject *)Py_None);
 
-    /* "src/lxml/serializer.pxi":648
+    /* "src/lxml/serializer.pxi":649
  * 
  *     def __init__(self, output_file not None, encoding=None, compression=None,
  *                  close=False, buffered=True):             # <<<<<<<<<<<<<<
@@ -124469,7 +123997,7 @@ static int __pyx_pw_4lxml_5etree_7xmlfile_1__init__(PyObject *__pyx_v_self, PyOb
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 647; __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[7]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else {
       switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -124490,19 +124018,19 @@ static int __pyx_pw_4lxml_5etree_7xmlfile_1__init__(PyObject *__pyx_v_self, PyOb
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__init__", 0, 1, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("lxml.etree.xmlfile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
   return -1;
   __pyx_L4_argument_unpacking_done:;
   if (unlikely(((PyObject *)__pyx_v_output_file) == Py_None)) {
-    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "output_file"); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 647; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    PyErr_Format(PyExc_TypeError, "Argument '%.200s' must not be None", "output_file"); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 648; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
   __pyx_r = __pyx_pf_4lxml_5etree_7xmlfile___init__(((struct __pyx_obj_4lxml_5etree_xmlfile *)__pyx_v_self), __pyx_v_output_file, __pyx_v_encoding, __pyx_v_compression, __pyx_v_close, __pyx_v_buffered);
 
-  /* "src/lxml/serializer.pxi":647
- *     cdef bint buffered
+  /* "src/lxml/serializer.pxi":648
+ *     cdef int method
  * 
  *     def __init__(self, output_file not None, encoding=None, compression=None,             # <<<<<<<<<<<<<<
  *                  close=False, buffered=True):
@@ -124530,7 +124058,7 @@ static int __pyx_pf_4lxml_5etree_7xmlfile___init__(struct __pyx_obj_4lxml_5etree
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__init__", 0);
 
-  /* "src/lxml/serializer.pxi":649
+  /* "src/lxml/serializer.pxi":650
  *     def __init__(self, output_file not None, encoding=None, compression=None,
  *                  close=False, buffered=True):
  *         self.output_file = output_file             # <<<<<<<<<<<<<<
@@ -124543,14 +124071,14 @@ static int __pyx_pf_4lxml_5etree_7xmlfile___init__(struct __pyx_obj_4lxml_5etree
   __Pyx_DECREF(__pyx_v_self->output_file);
   __pyx_v_self->output_file = __pyx_v_output_file;
 
-  /* "src/lxml/serializer.pxi":650
+  /* "src/lxml/serializer.pxi":651
  *                  close=False, buffered=True):
  *         self.output_file = output_file
  *         self.encoding = _utf8orNone(encoding)             # <<<<<<<<<<<<<<
  *         self.compresslevel = compression or 0
  *         self.close = close
  */
-  __pyx_t_1 = __pyx_f_4lxml_5etree__utf8orNone(__pyx_v_encoding); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 650; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __pyx_f_4lxml_5etree__utf8orNone(__pyx_v_encoding); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_GIVEREF(__pyx_t_1);
   __Pyx_GOTREF(__pyx_v_self->encoding);
@@ -124558,48 +124086,55 @@ static int __pyx_pf_4lxml_5etree_7xmlfile___init__(struct __pyx_obj_4lxml_5etree
   __pyx_v_self->encoding = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":651
+  /* "src/lxml/serializer.pxi":652
  *         self.output_file = output_file
  *         self.encoding = _utf8orNone(encoding)
  *         self.compresslevel = compression or 0             # <<<<<<<<<<<<<<
  *         self.close = close
  *         self.buffered = buffered
  */
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_compression); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_compression); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_3) {
-    goto __pyx_L4_next_or;
   } else {
-    __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_compression); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 651; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __Pyx_PyInt_As_int(__pyx_v_compression); if (unlikely((__pyx_t_4 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_or:;
   __pyx_t_2 = 0;
   __pyx_L3_bool_binop_done:;
   __pyx_v_self->compresslevel = __pyx_t_2;
 
-  /* "src/lxml/serializer.pxi":652
+  /* "src/lxml/serializer.pxi":653
  *         self.encoding = _utf8orNone(encoding)
  *         self.compresslevel = compression or 0
  *         self.close = close             # <<<<<<<<<<<<<<
  *         self.buffered = buffered
- * 
+ *         self.method = OUTPUT_METHOD_XML
  */
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_close); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 652; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_close); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_v_self->close = __pyx_t_3;
 
-  /* "src/lxml/serializer.pxi":653
+  /* "src/lxml/serializer.pxi":654
  *         self.compresslevel = compression or 0
  *         self.close = close
  *         self.buffered = buffered             # <<<<<<<<<<<<<<
+ *         self.method = OUTPUT_METHOD_XML
  * 
- *     def __enter__(self):
  */
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_buffered); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 653; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_buffered); if (unlikely((__pyx_t_3 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 654; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_v_self->buffered = __pyx_t_3;
 
-  /* "src/lxml/serializer.pxi":647
- *     cdef bint buffered
+  /* "src/lxml/serializer.pxi":655
+ *         self.close = close
+ *         self.buffered = buffered
+ *         self.method = OUTPUT_METHOD_XML             # <<<<<<<<<<<<<<
+ * 
+ *     def __enter__(self):
+ */
+  __pyx_v_self->method = __pyx_e_4lxml_5etree_OUTPUT_METHOD_XML;
+
+  /* "src/lxml/serializer.pxi":648
+ *     cdef int method
  * 
  *     def __init__(self, output_file not None, encoding=None, compression=None,             # <<<<<<<<<<<<<<
  *                  close=False, buffered=True):
@@ -124618,8 +124153,8 @@ static int __pyx_pf_4lxml_5etree_7xmlfile___init__(struct __pyx_obj_4lxml_5etree
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":655
- *         self.buffered = buffered
+/* "src/lxml/serializer.pxi":657
+ *         self.method = OUTPUT_METHOD_XML
  * 
  *     def __enter__(self):             # <<<<<<<<<<<<<<
  *         assert self.output_file is not None
@@ -124647,12 +124182,13 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_2__enter__(struct __pyx_obj_4lxm
   PyObject *__pyx_t_3 = NULL;
   PyObject *__pyx_t_4 = NULL;
   PyObject *__pyx_t_5 = NULL;
+  PyObject *__pyx_t_6 = NULL;
   int __pyx_lineno = 0;
   const char *__pyx_filename = NULL;
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__enter__", 0);
 
-  /* "src/lxml/serializer.pxi":656
+  /* "src/lxml/serializer.pxi":658
  * 
  *     def __enter__(self):
  *         assert self.output_file is not None             # <<<<<<<<<<<<<<
@@ -124664,69 +124200,74 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_2__enter__(struct __pyx_obj_4lxm
     __pyx_t_1 = (__pyx_v_self->output_file != Py_None);
     if (unlikely(!(__pyx_t_1 != 0))) {
       PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 656; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
   }
   #endif
 
-  /* "src/lxml/serializer.pxi":658
+  /* "src/lxml/serializer.pxi":660
  *         assert self.output_file is not None
  *         self.writer = _IncrementalFileWriter(
  *             self.output_file, self.encoding, self.compresslevel,             # <<<<<<<<<<<<<<
- *             self.close, self.buffered)
+ *             self.close, self.buffered, self.method)
  *         return self.writer
  */
-  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->compresslevel); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 658; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_self->compresslevel); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 660; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_2);
 
-  /* "src/lxml/serializer.pxi":659
+  /* "src/lxml/serializer.pxi":661
  *         self.writer = _IncrementalFileWriter(
  *             self.output_file, self.encoding, self.compresslevel,
- *             self.close, self.buffered)             # <<<<<<<<<<<<<<
+ *             self.close, self.buffered, self.method)             # <<<<<<<<<<<<<<
  *         return self.writer
  * 
  */
-  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->close); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyBool_FromLong(__pyx_v_self->close); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
-  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_self->buffered); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_v_self->buffered); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_4);
+  __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_self->method); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 661; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
 
-  /* "src/lxml/serializer.pxi":657
+  /* "src/lxml/serializer.pxi":659
  *     def __enter__(self):
  *         assert self.output_file is not None
  *         self.writer = _IncrementalFileWriter(             # <<<<<<<<<<<<<<
  *             self.output_file, self.encoding, self.compresslevel,
- *             self.close, self.buffered)
+ *             self.close, self.buffered, self.method)
  */
-  __pyx_t_5 = PyTuple_New(5); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_5);
+  __pyx_t_6 = PyTuple_New(6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_6);
   __Pyx_INCREF(__pyx_v_self->output_file);
-  PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_self->output_file);
+  PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_self->output_file);
   __Pyx_GIVEREF(__pyx_v_self->output_file);
   __Pyx_INCREF(__pyx_v_self->encoding);
-  PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_self->encoding);
+  PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_self->encoding);
   __Pyx_GIVEREF(__pyx_v_self->encoding);
-  PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_t_2);
+  PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_2);
   __Pyx_GIVEREF(__pyx_t_2);
-  PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_t_3);
+  PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_t_3);
   __Pyx_GIVEREF(__pyx_t_3);
-  PyTuple_SET_ITEM(__pyx_t_5, 4, __pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 4, __pyx_t_4);
   __Pyx_GIVEREF(__pyx_t_4);
+  PyTuple_SET_ITEM(__pyx_t_6, 5, __pyx_t_5);
+  __Pyx_GIVEREF(__pyx_t_5);
   __pyx_t_2 = 0;
   __pyx_t_3 = 0;
   __pyx_t_4 = 0;
-  __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree__IncrementalFileWriter)), __pyx_t_5, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 657; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_4);
-  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-  __Pyx_GIVEREF(__pyx_t_4);
+  __pyx_t_5 = 0;
+  __pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree__IncrementalFileWriter)), __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 659; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_5);
+  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+  __Pyx_GIVEREF(__pyx_t_5);
   __Pyx_GOTREF(__pyx_v_self->writer);
   __Pyx_DECREF(((PyObject *)__pyx_v_self->writer));
-  __pyx_v_self->writer = ((struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *)__pyx_t_4);
-  __pyx_t_4 = 0;
+  __pyx_v_self->writer = ((struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *)__pyx_t_5);
+  __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":660
+  /* "src/lxml/serializer.pxi":662
  *             self.output_file, self.encoding, self.compresslevel,
- *             self.close, self.buffered)
+ *             self.close, self.buffered, self.method)
  *         return self.writer             # <<<<<<<<<<<<<<
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):
@@ -124736,8 +124277,8 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_2__enter__(struct __pyx_obj_4lxm
   __pyx_r = ((PyObject *)__pyx_v_self->writer);
   goto __pyx_L0;
 
-  /* "src/lxml/serializer.pxi":655
- *         self.buffered = buffered
+  /* "src/lxml/serializer.pxi":657
+ *         self.method = OUTPUT_METHOD_XML
  * 
  *     def __enter__(self):             # <<<<<<<<<<<<<<
  *         assert self.output_file is not None
@@ -124750,6 +124291,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_2__enter__(struct __pyx_obj_4lxm
   __Pyx_XDECREF(__pyx_t_3);
   __Pyx_XDECREF(__pyx_t_4);
   __Pyx_XDECREF(__pyx_t_5);
+  __Pyx_XDECREF(__pyx_t_6);
   __Pyx_AddTraceback("lxml.etree.xmlfile.__enter__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __pyx_r = NULL;
   __pyx_L0:;
@@ -124758,7 +124300,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_2__enter__(struct __pyx_obj_4lxm
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":662
+/* "src/lxml/serializer.pxi":664
  *         return self.writer
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):             # <<<<<<<<<<<<<<
@@ -124799,16 +124341,16 @@ static PyObject *__pyx_pw_4lxml_5etree_7xmlfile_5__exit__(PyObject *__pyx_v_self
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_exc_val)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_exc_tb)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
       goto __pyx_L5_argtuple_error;
@@ -124823,7 +124365,7 @@ static PyObject *__pyx_pw_4lxml_5etree_7xmlfile_5__exit__(PyObject *__pyx_v_self
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 662; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 664; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("lxml.etree.xmlfile.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -124850,7 +124392,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__exit__", 0);
 
-  /* "src/lxml/serializer.pxi":663
+  /* "src/lxml/serializer.pxi":665
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):
  *         if self.writer is not None:             # <<<<<<<<<<<<<<
@@ -124861,7 +124403,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (__pyx_t_2) {
 
-    /* "src/lxml/serializer.pxi":664
+    /* "src/lxml/serializer.pxi":666
  *     def __exit__(self, exc_type, exc_val, exc_tb):
  *         if self.writer is not None:
  *             old_writer, self.writer = self.writer, None             # <<<<<<<<<<<<<<
@@ -124880,7 +124422,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
     __pyx_v_self->writer = ((struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *)__pyx_t_4);
     __pyx_t_4 = 0;
 
-    /* "src/lxml/serializer.pxi":665
+    /* "src/lxml/serializer.pxi":667
  *         if self.writer is not None:
  *             old_writer, self.writer = self.writer, None
  *             raise_on_error = exc_type is None             # <<<<<<<<<<<<<<
@@ -124888,24 +124430,24 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
  *             if self.close:
  */
     __pyx_t_2 = (__pyx_v_exc_type == Py_None);
-    __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 665; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __Pyx_PyBool_FromLong(__pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 667; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     __pyx_v_raise_on_error = __pyx_t_4;
     __pyx_t_4 = 0;
 
-    /* "src/lxml/serializer.pxi":666
+    /* "src/lxml/serializer.pxi":668
  *             old_writer, self.writer = self.writer, None
  *             raise_on_error = exc_type is None
  *             old_writer._close(raise_on_error)             # <<<<<<<<<<<<<<
  *             if self.close:
  *                 self.output_file = None
  */
-    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_raise_on_error); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_4 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(__pyx_v_old_writer, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 666; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_raise_on_error); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(__pyx_v_old_writer, __pyx_t_2); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 668; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
-    /* "src/lxml/serializer.pxi":667
+    /* "src/lxml/serializer.pxi":669
  *             raise_on_error = exc_type is None
  *             old_writer._close(raise_on_error)
  *             if self.close:             # <<<<<<<<<<<<<<
@@ -124915,7 +124457,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
     __pyx_t_2 = (__pyx_v_self->close != 0);
     if (__pyx_t_2) {
 
-      /* "src/lxml/serializer.pxi":668
+      /* "src/lxml/serializer.pxi":670
  *             old_writer._close(raise_on_error)
  *             if self.close:
  *                 self.output_file = None             # <<<<<<<<<<<<<<
@@ -124934,7 +124476,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":662
+  /* "src/lxml/serializer.pxi":664
  *         return self.writer
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):             # <<<<<<<<<<<<<<
@@ -124958,12 +124500,119 @@ static PyObject *__pyx_pf_4lxml_5etree_7xmlfile_4__exit__(struct __pyx_obj_4lxml
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":690
+/* "src/lxml/serializer.pxi":679
+ *     xmlfile.
+ *     """
+ *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
+ *         super().__init__(*args, **kwargs)
+ *         self.method = OUTPUT_METHOD_HTML
+ */
+
+/* Python wrapper */
+static int __pyx_pw_4lxml_5etree_8htmlfile_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
+static int __pyx_pw_4lxml_5etree_8htmlfile_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
+  PyObject *__pyx_v_args = 0;
+  PyObject *__pyx_v_kwargs = 0;
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
+  if (unlikely(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "__init__", 1))) return -1;
+  __pyx_v_kwargs = (__pyx_kwds) ? PyDict_Copy(__pyx_kwds) : PyDict_New();
+  if (unlikely(!__pyx_v_kwargs)) return -1;
+  __Pyx_GOTREF(__pyx_v_kwargs);
+  __Pyx_INCREF(__pyx_args);
+  __pyx_v_args = __pyx_args;
+  __pyx_r = __pyx_pf_4lxml_5etree_8htmlfile___init__(((struct __pyx_obj_4lxml_5etree_htmlfile *)__pyx_v_self), __pyx_v_args, __pyx_v_kwargs);
+
+  /* function exit code */
+  __Pyx_XDECREF(__pyx_v_args);
+  __Pyx_XDECREF(__pyx_v_kwargs);
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+static int __pyx_pf_4lxml_5etree_8htmlfile___init__(struct __pyx_obj_4lxml_5etree_htmlfile *__pyx_v_self, PyObject *__pyx_v_args, PyObject *__pyx_v_kwargs) {
+  int __pyx_r;
+  __Pyx_RefNannyDeclarations
+  PyObject *__pyx_t_1 = NULL;
+  PyObject *__pyx_t_2 = NULL;
+  PyObject *__pyx_t_3 = NULL;
+  PyObject *__pyx_t_4 = NULL;
+  int __pyx_lineno = 0;
+  const char *__pyx_filename = NULL;
+  int __pyx_clineno = 0;
+  __Pyx_RefNannySetupContext("__init__", 0);
+
+  /* "src/lxml/serializer.pxi":680
+ *     """
+ *     def __init__(self, *args, **kwargs):
+ *         super().__init__(*args, **kwargs)             # <<<<<<<<<<<<<<
+ *         self.method = OUTPUT_METHOD_HTML
+ * 
+ */
+  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_INCREF(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_htmlfile)));
+  PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_htmlfile)));
+  __Pyx_GIVEREF(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_htmlfile)));
+  __Pyx_INCREF(((PyObject *)__pyx_v_self));
+  PyTuple_SET_ITEM(__pyx_t_1, 1, ((PyObject *)__pyx_v_self));
+  __Pyx_GIVEREF(((PyObject *)__pyx_v_self));
+  __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 680; __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_init); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_1);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+  __pyx_t_2 = PySequence_Tuple(__pyx_v_args); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 680; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_2);
+  __pyx_t_3 = __pyx_v_kwargs;
+  __Pyx_INCREF(__pyx_t_3);
+  __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 680; __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/serializer.pxi":681
+ *     def __init__(self, *args, **kwargs):
+ *         super().__init__(*args, **kwargs)
+ *         self.method = OUTPUT_METHOD_HTML             # <<<<<<<<<<<<<<
+ * 
+ * 
+ */
+  __pyx_v_self->__pyx_base.method = __pyx_e_4lxml_5etree_OUTPUT_METHOD_HTML;
+
+  /* "src/lxml/serializer.pxi":679
+ *     xmlfile.
+ *     """
+ *     def __init__(self, *args, **kwargs):             # <<<<<<<<<<<<<<
+ *         super().__init__(*args, **kwargs)
+ *         self.method = OUTPUT_METHOD_HTML
+ */
+
+  /* function exit code */
+  __pyx_r = 0;
+  goto __pyx_L0;
+  __pyx_L1_error:;
+  __Pyx_XDECREF(__pyx_t_1);
+  __Pyx_XDECREF(__pyx_t_2);
+  __Pyx_XDECREF(__pyx_t_3);
+  __Pyx_XDECREF(__pyx_t_4);
+  __Pyx_AddTraceback("lxml.etree.htmlfile.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
+  __pyx_r = -1;
+  __pyx_L0:;
+  __Pyx_RefNannyFinishContext();
+  return __pyx_r;
+}
+
+/* "src/lxml/serializer.pxi":704
  *     cdef bint _buffered
  * 
- *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close, bint buffered):             # <<<<<<<<<<<<<<
+ *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close,             # <<<<<<<<<<<<<<
+ *                   bint buffered, int method):
  *         self._status = WRITER_STARTING
- *         self._element_stack = []
  */
 
 /* Python wrapper */
@@ -124974,6 +124623,7 @@ static int __pyx_pw_4lxml_5etree_22_IncrementalFileWriter_1__cinit__(PyObject *_
   int __pyx_v_compresslevel;
   int __pyx_v_close;
   int __pyx_v_buffered;
+  int __pyx_v_method;
   int __pyx_lineno = 0;
   const char *__pyx_filename = NULL;
   int __pyx_clineno = 0;
@@ -124981,12 +124631,13 @@ static int __pyx_pw_4lxml_5etree_22_IncrementalFileWriter_1__cinit__(PyObject *_
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__cinit__ (wrapper)", 0);
   {
-    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_outfile,&__pyx_n_s_encoding,&__pyx_n_s_compresslevel,&__pyx_n_s_close,&__pyx_n_s_buffered,0};
-    PyObject* values[5] = {0,0,0,0,0};
+    static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_outfile,&__pyx_n_s_encoding,&__pyx_n_s_compresslevel,&__pyx_n_s_close,&__pyx_n_s_buffered,&__pyx_n_s_method,0};
+    PyObject* values[6] = {0,0,0,0,0,0};
     if (unlikely(__pyx_kwds)) {
       Py_ssize_t kw_args;
       const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
       switch (pos_args) {
+        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
         case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
         case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
         case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
@@ -125003,28 +124654,33 @@ static int __pyx_pw_4lxml_5etree_22_IncrementalFileWriter_1__cinit__(PyObject *_
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_encoding)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_compresslevel)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 2); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 2); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
         case  3:
         if (likely((values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_close)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 3); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 3); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
         case  4:
         if (likely((values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_buffered)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, 4); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 4); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        }
+        case  5:
+        if (likely((values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--;
+        else {
+          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, 5); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
-    } else if (PyTuple_GET_SIZE(__pyx_args) != 5) {
+    } else if (PyTuple_GET_SIZE(__pyx_args) != 6) {
       goto __pyx_L5_argtuple_error;
     } else {
       values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
@@ -125032,23 +124688,25 @@ static int __pyx_pw_4lxml_5etree_22_IncrementalFileWriter_1__cinit__(PyObject *_
       values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
       values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
       values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
+      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
     }
     __pyx_v_outfile = values[0];
     __pyx_v_encoding = ((PyObject*)values[1]);
-    __pyx_v_compresslevel = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_compresslevel == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_close = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_close == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
-    __pyx_v_buffered = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_buffered == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_compresslevel = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_compresslevel == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_close = __Pyx_PyObject_IsTrue(values[3]); if (unlikely((__pyx_v_close == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_buffered = __Pyx_PyObject_IsTrue(values[4]); if (unlikely((__pyx_v_buffered == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+    __pyx_v_method = __Pyx_PyInt_As_int(values[5]); if (unlikely((__pyx_v_method == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 5, 5, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 6, 6, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("lxml.etree._IncrementalFileWriter.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
   return -1;
   __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_encoding), (&PyBytes_Type), 1, "encoding", 1))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 690; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_r = __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(((struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *)__pyx_v_self), __pyx_v_outfile, __pyx_v_encoding, __pyx_v_compresslevel, __pyx_v_close, __pyx_v_buffered);
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_encoding), (&PyBytes_Type), 1, "encoding", 1))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 704; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_r = __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(((struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *)__pyx_v_self), __pyx_v_outfile, __pyx_v_encoding, __pyx_v_compresslevel, __pyx_v_close, __pyx_v_buffered, __pyx_v_method);
 
   /* function exit code */
   goto __pyx_L0;
@@ -125059,7 +124717,7 @@ static int __pyx_pw_4lxml_5etree_22_IncrementalFileWriter_1__cinit__(PyObject *_
   return __pyx_r;
 }
 
-static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self, PyObject *__pyx_v_outfile, PyObject *__pyx_v_encoding, int __pyx_v_compresslevel, int __pyx_v_close, int __pyx_v_buffered) {
+static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *__pyx_v_self, PyObject *__pyx_v_outfile, PyObject *__pyx_v_encoding, int __pyx_v_compresslevel, int __pyx_v_close, int __pyx_v_buffered, int __pyx_v_method) {
   int __pyx_r;
   __Pyx_RefNannyDeclarations
   PyObject *__pyx_t_1 = NULL;
@@ -125072,23 +124730,23 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   __Pyx_RefNannySetupContext("__cinit__", 0);
   __Pyx_INCREF(__pyx_v_encoding);
 
-  /* "src/lxml/serializer.pxi":691
- * 
- *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close, bint buffered):
+  /* "src/lxml/serializer.pxi":706
+ *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close,
+ *                   bint buffered, int method):
  *         self._status = WRITER_STARTING             # <<<<<<<<<<<<<<
  *         self._element_stack = []
  *         if encoding is None:
  */
   __pyx_v_self->_status = __pyx_e_4lxml_5etree_WRITER_STARTING;
 
-  /* "src/lxml/serializer.pxi":692
- *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close, bint buffered):
+  /* "src/lxml/serializer.pxi":707
+ *                   bint buffered, int method):
  *         self._status = WRITER_STARTING
  *         self._element_stack = []             # <<<<<<<<<<<<<<
  *         if encoding is None:
  *             encoding = b'ASCII'
  */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 692; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 707; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_GIVEREF(__pyx_t_1);
   __Pyx_GOTREF(__pyx_v_self->_element_stack);
@@ -125096,7 +124754,7 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   __pyx_v_self->_element_stack = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":693
+  /* "src/lxml/serializer.pxi":708
  *         self._status = WRITER_STARTING
  *         self._element_stack = []
  *         if encoding is None:             # <<<<<<<<<<<<<<
@@ -125107,7 +124765,7 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
 
-    /* "src/lxml/serializer.pxi":694
+    /* "src/lxml/serializer.pxi":709
  *         self._element_stack = []
  *         if encoding is None:
  *             encoding = b'ASCII'             # <<<<<<<<<<<<<<
@@ -125120,7 +124778,7 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":695
+  /* "src/lxml/serializer.pxi":710
  *         if encoding is None:
  *             encoding = b'ASCII'
  *         self._encoding = encoding             # <<<<<<<<<<<<<<
@@ -125133,7 +124791,7 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   __Pyx_DECREF(__pyx_v_self->_encoding);
   __pyx_v_self->_encoding = __pyx_v_encoding;
 
-  /* "src/lxml/serializer.pxi":696
+  /* "src/lxml/serializer.pxi":711
  *             encoding = b'ASCII'
  *         self._encoding = encoding
  *         self._c_encoding = _cstr(encoding) if encoding is not None else NULL             # <<<<<<<<<<<<<<
@@ -125148,7 +124806,7 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   }
   __pyx_v_self->_c_encoding = __pyx_t_4;
 
-  /* "src/lxml/serializer.pxi":697
+  /* "src/lxml/serializer.pxi":712
  *         self._encoding = encoding
  *         self._c_encoding = _cstr(encoding) if encoding is not None else NULL
  *         self._buffered = buffered             # <<<<<<<<<<<<<<
@@ -125157,28 +124815,37 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
  */
   __pyx_v_self->_buffered = __pyx_v_buffered;
 
-  /* "src/lxml/serializer.pxi":698
+  /* "src/lxml/serializer.pxi":713
  *         self._c_encoding = _cstr(encoding) if encoding is not None else NULL
  *         self._buffered = buffered
  *         self._target = _create_output_buffer(             # <<<<<<<<<<<<<<
  *             outfile, self._c_encoding, compresslevel, &self._c_out, close)
- * 
+ *         self._method = method
  */
-  __pyx_t_1 = __pyx_f_4lxml_5etree__create_output_buffer(__pyx_v_outfile, __pyx_v_self->_c_encoding, __pyx_v_compresslevel, (&__pyx_v_self->_c_out), __pyx_v_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __pyx_f_4lxml_5etree__create_output_buffer(__pyx_v_outfile, __pyx_v_self->_c_encoding, __pyx_v_compresslevel, (&__pyx_v_self->_c_out), __pyx_v_close); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 713; __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__FilelikeWriter))))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 698; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(((__pyx_t_1) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_1, __pyx_ptype_4lxml_5etree__FilelikeWriter))))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 713; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GIVEREF(__pyx_t_1);
   __Pyx_GOTREF(__pyx_v_self->_target);
   __Pyx_DECREF(((PyObject *)__pyx_v_self->_target));
   __pyx_v_self->_target = ((struct __pyx_obj_4lxml_5etree__FilelikeWriter *)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":690
+  /* "src/lxml/serializer.pxi":715
+ *         self._target = _create_output_buffer(
+ *             outfile, self._c_encoding, compresslevel, &self._c_out, close)
+ *         self._method = method             # <<<<<<<<<<<<<<
+ * 
+ *     def __dealloc__(self):
+ */
+  __pyx_v_self->_method = __pyx_v_method;
+
+  /* "src/lxml/serializer.pxi":704
  *     cdef bint _buffered
  * 
- *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close, bint buffered):             # <<<<<<<<<<<<<<
+ *     def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close,             # <<<<<<<<<<<<<<
+ *                   bint buffered, int method):
  *         self._status = WRITER_STARTING
- *         self._element_stack = []
  */
 
   /* function exit code */
@@ -125194,8 +124861,8 @@ static int __pyx_pf_4lxml_5etree_22_IncrementalFileWriter___cinit__(struct __pyx
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":701
- *             outfile, self._c_encoding, compresslevel, &self._c_out, close)
+/* "src/lxml/serializer.pxi":717
+ *         self._method = method
  * 
  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
  *         if self._c_out is not NULL:
@@ -125218,7 +124885,7 @@ static void __pyx_pf_4lxml_5etree_22_IncrementalFileWriter_2__dealloc__(struct _
   int __pyx_t_1;
   __Pyx_RefNannySetupContext("__dealloc__", 0);
 
-  /* "src/lxml/serializer.pxi":702
+  /* "src/lxml/serializer.pxi":718
  * 
  *     def __dealloc__(self):
  *         if self._c_out is not NULL:             # <<<<<<<<<<<<<<
@@ -125228,7 +124895,7 @@ static void __pyx_pf_4lxml_5etree_22_IncrementalFileWriter_2__dealloc__(struct _
   __pyx_t_1 = ((__pyx_v_self->_c_out != NULL) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":703
+    /* "src/lxml/serializer.pxi":719
  *     def __dealloc__(self):
  *         if self._c_out is not NULL:
  *             tree.xmlOutputBufferClose(self._c_out)             # <<<<<<<<<<<<<<
@@ -125240,8 +124907,8 @@ static void __pyx_pf_4lxml_5etree_22_IncrementalFileWriter_2__dealloc__(struct _
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":701
- *             outfile, self._c_encoding, compresslevel, &self._c_out, close)
+  /* "src/lxml/serializer.pxi":717
+ *         self._method = method
  * 
  *     def __dealloc__(self):             # <<<<<<<<<<<<<<
  *         if self._c_out is not NULL:
@@ -125252,7 +124919,7 @@ static void __pyx_pf_4lxml_5etree_22_IncrementalFileWriter_2__dealloc__(struct _
   __Pyx_RefNannyFinishContext();
 }
 
-/* "src/lxml/serializer.pxi":705
+/* "src/lxml/serializer.pxi":721
  *             tree.xmlOutputBufferClose(self._c_out)
  * 
  *     def write_declaration(self, version=None, standalone=None, doctype=None):             # <<<<<<<<<<<<<<
@@ -125308,7 +124975,7 @@ static PyObject *__pyx_pw_4lxml_5etree_22_IncrementalFileWriter_5write_declarati
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_declaration") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "write_declaration") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else {
       switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -125325,7 +124992,7 @@ static PyObject *__pyx_pw_4lxml_5etree_22_IncrementalFileWriter_5write_declarati
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("write_declaration", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 705; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("write_declaration", 0, 0, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("lxml.etree._IncrementalFileWriter.write_declaration", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -125356,7 +125023,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   __Pyx_INCREF(__pyx_v_version);
   __Pyx_INCREF(__pyx_v_doctype);
 
-  /* "src/lxml/serializer.pxi":710
+  /* "src/lxml/serializer.pxi":726
  *         Write an XML declaration and (optionally) a doctype into the file.
  *         """
  *         assert self._c_out is not NULL             # <<<<<<<<<<<<<<
@@ -125367,14 +125034,41 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   if (unlikely(!Py_OptimizeFlag)) {
     if (unlikely(!((__pyx_v_self->_c_out != NULL) != 0))) {
       PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 710; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 726; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
   }
   #endif
 
-  /* "src/lxml/serializer.pxi":713
+  /* "src/lxml/serializer.pxi":729
  *         cdef const_xmlChar* c_version
  *         cdef int c_standalone
+ *         if self._method != OUTPUT_METHOD_XML:             # <<<<<<<<<<<<<<
+ *             raise LxmlSyntaxError("only XML documents have declarations")
+ *         if self._status >= WRITER_DECL_WRITTEN:
+ */
+  __pyx_t_1 = ((__pyx_v_self->_method != __pyx_e_4lxml_5etree_OUTPUT_METHOD_XML) != 0);
+  if (__pyx_t_1) {
+
+    /* "src/lxml/serializer.pxi":730
+ *         cdef int c_standalone
+ *         if self._method != OUTPUT_METHOD_XML:
+ *             raise LxmlSyntaxError("only XML documents have declarations")             # <<<<<<<<<<<<<<
+ *         if self._status >= WRITER_DECL_WRITTEN:
+ *             raise LxmlSyntaxError("XML declaration already written")
+ */
+    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_2);
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 730; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  }
+
+  /* "src/lxml/serializer.pxi":731
+ *         if self._method != OUTPUT_METHOD_XML:
+ *             raise LxmlSyntaxError("only XML documents have declarations")
  *         if self._status >= WRITER_DECL_WRITTEN:             # <<<<<<<<<<<<<<
  *             raise LxmlSyntaxError("XML declaration already written")
  *         version = _utf8orNone(version)
@@ -125382,36 +125076,36 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   __pyx_t_1 = ((__pyx_v_self->_status >= __pyx_e_4lxml_5etree_WRITER_DECL_WRITTEN) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":714
- *         cdef int c_standalone
+    /* "src/lxml/serializer.pxi":732
+ *             raise LxmlSyntaxError("only XML documents have declarations")
  *         if self._status >= WRITER_DECL_WRITTEN:
  *             raise LxmlSyntaxError("XML declaration already written")             # <<<<<<<<<<<<<<
  *         version = _utf8orNone(version)
  *         c_version = _xcstr(version) if version is not None else NULL
  */
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__59, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 732; __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_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_GOTREF(__pyx_t_2);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_Raise(__pyx_t_2, 0, 0, 0);
+    __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
 
-  /* "src/lxml/serializer.pxi":715
+  /* "src/lxml/serializer.pxi":733
  *         if self._status >= WRITER_DECL_WRITTEN:
  *             raise LxmlSyntaxError("XML declaration already written")
  *         version = _utf8orNone(version)             # <<<<<<<<<<<<<<
  *         c_version = _xcstr(version) if version is not None else NULL
  *         doctype = _utf8orNone(doctype)
  */
-  __pyx_t_3 = __pyx_f_4lxml_5etree__utf8orNone(__pyx_v_version); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 715; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF_SET(__pyx_v_version, __pyx_t_3);
-  __pyx_t_3 = 0;
+  __pyx_t_2 = __pyx_f_4lxml_5etree__utf8orNone(__pyx_v_version); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 733; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF_SET(__pyx_v_version, __pyx_t_2);
+  __pyx_t_2 = 0;
 
-  /* "src/lxml/serializer.pxi":716
+  /* "src/lxml/serializer.pxi":734
  *             raise LxmlSyntaxError("XML declaration already written")
  *         version = _utf8orNone(version)
  *         c_version = _xcstr(version) if version is not None else NULL             # <<<<<<<<<<<<<<
@@ -125426,19 +125120,19 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   }
   __pyx_v_c_version = __pyx_t_4;
 
-  /* "src/lxml/serializer.pxi":717
+  /* "src/lxml/serializer.pxi":735
  *         version = _utf8orNone(version)
  *         c_version = _xcstr(version) if version is not None else NULL
  *         doctype = _utf8orNone(doctype)             # <<<<<<<<<<<<<<
  *         if standalone is None:
  *             c_standalone = -1
  */
-  __pyx_t_3 = __pyx_f_4lxml_5etree__utf8orNone(__pyx_v_doctype); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 717; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF_SET(__pyx_v_doctype, __pyx_t_3);
-  __pyx_t_3 = 0;
+  __pyx_t_2 = __pyx_f_4lxml_5etree__utf8orNone(__pyx_v_doctype); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 735; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF_SET(__pyx_v_doctype, __pyx_t_2);
+  __pyx_t_2 = 0;
 
-  /* "src/lxml/serializer.pxi":718
+  /* "src/lxml/serializer.pxi":736
  *         c_version = _xcstr(version) if version is not None else NULL
  *         doctype = _utf8orNone(doctype)
  *         if standalone is None:             # <<<<<<<<<<<<<<
@@ -125449,7 +125143,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   __pyx_t_5 = (__pyx_t_1 != 0);
   if (__pyx_t_5) {
 
-    /* "src/lxml/serializer.pxi":719
+    /* "src/lxml/serializer.pxi":737
  *         doctype = _utf8orNone(doctype)
  *         if standalone is None:
  *             c_standalone = -1             # <<<<<<<<<<<<<<
@@ -125457,18 +125151,18 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
  *             c_standalone = 1 if standalone else 0
  */
     __pyx_v_c_standalone = -1;
-    goto __pyx_L4;
+    goto __pyx_L5;
   }
   /*else*/ {
 
-    /* "src/lxml/serializer.pxi":721
+    /* "src/lxml/serializer.pxi":739
  *             c_standalone = -1
  *         else:
  *             c_standalone = 1 if standalone else 0             # <<<<<<<<<<<<<<
  *         _writeDeclarationToBuffer(self._c_out, c_version, self._c_encoding, c_standalone)
  *         if doctype is not None:
  */
-    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_standalone); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 721; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_standalone); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (__pyx_t_5) {
       __pyx_t_6 = 1;
     } else {
@@ -125476,9 +125170,9 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
     }
     __pyx_v_c_standalone = __pyx_t_6;
   }
-  __pyx_L4:;
+  __pyx_L5:;
 
-  /* "src/lxml/serializer.pxi":722
+  /* "src/lxml/serializer.pxi":740
  *         else:
  *             c_standalone = 1 if standalone else 0
  *         _writeDeclarationToBuffer(self._c_out, c_version, self._c_encoding, c_standalone)             # <<<<<<<<<<<<<<
@@ -125487,7 +125181,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
  */
   __pyx_f_4lxml_5etree__writeDeclarationToBuffer(__pyx_v_self->_c_out, __pyx_v_c_version, __pyx_v_self->_c_encoding, __pyx_v_c_standalone);
 
-  /* "src/lxml/serializer.pxi":723
+  /* "src/lxml/serializer.pxi":741
  *             c_standalone = 1 if standalone else 0
  *         _writeDeclarationToBuffer(self._c_out, c_version, self._c_encoding, c_standalone)
  *         if doctype is not None:             # <<<<<<<<<<<<<<
@@ -125498,7 +125192,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   __pyx_t_1 = (__pyx_t_5 != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":724
+    /* "src/lxml/serializer.pxi":742
  *         _writeDeclarationToBuffer(self._c_out, c_version, self._c_encoding, c_standalone)
  *         if doctype is not None:
  *             _writeDoctype(self._c_out, _xcstr(doctype))             # <<<<<<<<<<<<<<
@@ -125507,7 +125201,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
  */
     __pyx_f_4lxml_5etree__writeDoctype(__pyx_v_self->_c_out, (const xmlChar*)PyBytes_AS_STRING(__pyx_v_doctype));
 
-    /* "src/lxml/serializer.pxi":725
+    /* "src/lxml/serializer.pxi":743
  *         if doctype is not None:
  *             _writeDoctype(self._c_out, _xcstr(doctype))
  *             self._status = WRITER_DTD_WRITTEN             # <<<<<<<<<<<<<<
@@ -125515,11 +125209,11 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
  *             self._status = WRITER_DECL_WRITTEN
  */
     __pyx_v_self->_status = __pyx_e_4lxml_5etree_WRITER_DTD_WRITTEN;
-    goto __pyx_L5;
+    goto __pyx_L6;
   }
   /*else*/ {
 
-    /* "src/lxml/serializer.pxi":727
+    /* "src/lxml/serializer.pxi":745
  *             self._status = WRITER_DTD_WRITTEN
  *         else:
  *             self._status = WRITER_DECL_WRITTEN             # <<<<<<<<<<<<<<
@@ -125528,9 +125222,9 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
  */
     __pyx_v_self->_status = __pyx_e_4lxml_5etree_WRITER_DECL_WRITTEN;
   }
-  __pyx_L5:;
+  __pyx_L6:;
 
-  /* "src/lxml/serializer.pxi":728
+  /* "src/lxml/serializer.pxi":746
  *         else:
  *             self._status = WRITER_DECL_WRITTEN
  *         if not self._buffered:             # <<<<<<<<<<<<<<
@@ -125540,7 +125234,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   __pyx_t_1 = ((!(__pyx_v_self->_buffered != 0)) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":729
+    /* "src/lxml/serializer.pxi":747
  *             self._status = WRITER_DECL_WRITTEN
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)             # <<<<<<<<<<<<<<
@@ -125548,22 +125242,22 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
  * 
  */
     xmlOutputBufferFlush(__pyx_v_self->_c_out);
-    goto __pyx_L6;
+    goto __pyx_L7;
   }
-  __pyx_L6:;
+  __pyx_L7:;
 
-  /* "src/lxml/serializer.pxi":730
+  /* "src/lxml/serializer.pxi":748
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)
  *         self._handle_error(self._c_out.error)             # <<<<<<<<<<<<<<
  * 
  *     def write_doctype(self, doctype):
  */
-  __pyx_t_3 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_t_3);
-  __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+  __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 748; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_t_2);
+  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 
-  /* "src/lxml/serializer.pxi":705
+  /* "src/lxml/serializer.pxi":721
  *             tree.xmlOutputBufferClose(self._c_out)
  * 
  *     def write_declaration(self, version=None, standalone=None, doctype=None):             # <<<<<<<<<<<<<<
@@ -125587,7 +125281,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_4write_declarati
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":732
+/* "src/lxml/serializer.pxi":750
  *         self._handle_error(self._c_out.error)
  * 
  *     def write_doctype(self, doctype):             # <<<<<<<<<<<<<<
@@ -125622,7 +125316,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   __Pyx_RefNannySetupContext("write_doctype", 0);
   __Pyx_INCREF(__pyx_v_doctype);
 
-  /* "src/lxml/serializer.pxi":737
+  /* "src/lxml/serializer.pxi":755
  *         Writes the given doctype declaration verbatimly into the file.
  *         """
  *         assert self._c_out is not NULL             # <<<<<<<<<<<<<<
@@ -125633,12 +125327,12 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   if (unlikely(!Py_OptimizeFlag)) {
     if (unlikely(!((__pyx_v_self->_c_out != NULL) != 0))) {
       PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
   }
   #endif
 
-  /* "src/lxml/serializer.pxi":738
+  /* "src/lxml/serializer.pxi":756
  *         """
  *         assert self._c_out is not NULL
  *         if doctype is None:             # <<<<<<<<<<<<<<
@@ -125649,7 +125343,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (__pyx_t_2) {
 
-    /* "src/lxml/serializer.pxi":739
+    /* "src/lxml/serializer.pxi":757
  *         assert self._c_out is not NULL
  *         if doctype is None:
  *             return             # <<<<<<<<<<<<<<
@@ -125661,7 +125355,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
     goto __pyx_L0;
   }
 
-  /* "src/lxml/serializer.pxi":740
+  /* "src/lxml/serializer.pxi":758
  *         if doctype is None:
  *             return
  *         if self._status >= WRITER_DTD_WRITTEN:             # <<<<<<<<<<<<<<
@@ -125671,36 +125365,36 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   __pyx_t_2 = ((__pyx_v_self->_status >= __pyx_e_4lxml_5etree_WRITER_DTD_WRITTEN) != 0);
   if (__pyx_t_2) {
 
-    /* "src/lxml/serializer.pxi":741
+    /* "src/lxml/serializer.pxi":759
  *             return
  *         if self._status >= WRITER_DTD_WRITTEN:
  *             raise LxmlSyntaxError("DOCTYPE already written or cannot write it here")             # <<<<<<<<<<<<<<
  *         doctype = _utf8(doctype)
  *         _writeDoctype(self._c_out, _xcstr(doctype))
  */
-    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__60, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__61, NULL); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __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_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
 
-  /* "src/lxml/serializer.pxi":742
+  /* "src/lxml/serializer.pxi":760
  *         if self._status >= WRITER_DTD_WRITTEN:
  *             raise LxmlSyntaxError("DOCTYPE already written or cannot write it here")
  *         doctype = _utf8(doctype)             # <<<<<<<<<<<<<<
  *         _writeDoctype(self._c_out, _xcstr(doctype))
  *         self._status = WRITER_DTD_WRITTEN
  */
-  __pyx_t_4 = __pyx_f_4lxml_5etree__utf8(__pyx_v_doctype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 742; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_4 = __pyx_f_4lxml_5etree__utf8(__pyx_v_doctype); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_4);
   __Pyx_DECREF_SET(__pyx_v_doctype, __pyx_t_4);
   __pyx_t_4 = 0;
 
-  /* "src/lxml/serializer.pxi":743
+  /* "src/lxml/serializer.pxi":761
  *             raise LxmlSyntaxError("DOCTYPE already written or cannot write it here")
  *         doctype = _utf8(doctype)
  *         _writeDoctype(self._c_out, _xcstr(doctype))             # <<<<<<<<<<<<<<
@@ -125709,7 +125403,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
  */
   __pyx_f_4lxml_5etree__writeDoctype(__pyx_v_self->_c_out, (const xmlChar*)PyBytes_AS_STRING(__pyx_v_doctype));
 
-  /* "src/lxml/serializer.pxi":744
+  /* "src/lxml/serializer.pxi":762
  *         doctype = _utf8(doctype)
  *         _writeDoctype(self._c_out, _xcstr(doctype))
  *         self._status = WRITER_DTD_WRITTEN             # <<<<<<<<<<<<<<
@@ -125718,7 +125412,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
  */
   __pyx_v_self->_status = __pyx_e_4lxml_5etree_WRITER_DTD_WRITTEN;
 
-  /* "src/lxml/serializer.pxi":745
+  /* "src/lxml/serializer.pxi":763
  *         _writeDoctype(self._c_out, _xcstr(doctype))
  *         self._status = WRITER_DTD_WRITTEN
  *         if not self._buffered:             # <<<<<<<<<<<<<<
@@ -125728,7 +125422,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   __pyx_t_2 = ((!(__pyx_v_self->_buffered != 0)) != 0);
   if (__pyx_t_2) {
 
-    /* "src/lxml/serializer.pxi":746
+    /* "src/lxml/serializer.pxi":764
  *         self._status = WRITER_DTD_WRITTEN
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)             # <<<<<<<<<<<<<<
@@ -125740,18 +125434,18 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   }
   __pyx_L5:;
 
-  /* "src/lxml/serializer.pxi":747
+  /* "src/lxml/serializer.pxi":765
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)
  *         self._handle_error(self._c_out.error)             # <<<<<<<<<<<<<<
  * 
  *     def element(self, tag, attrib=None, nsmap=None, **_extra):
  */
-  __pyx_t_4 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 747; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_4 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_4);
   __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
-  /* "src/lxml/serializer.pxi":732
+  /* "src/lxml/serializer.pxi":750
  *         self._handle_error(self._c_out.error)
  * 
  *     def write_doctype(self, doctype):             # <<<<<<<<<<<<<<
@@ -125774,7 +125468,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_6write_doctype(s
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":749
+/* "src/lxml/serializer.pxi":767
  *         self._handle_error(self._c_out.error)
  * 
  *     def element(self, tag, attrib=None, nsmap=None, **_extra):             # <<<<<<<<<<<<<<
@@ -125830,7 +125524,7 @@ static PyObject *__pyx_pw_4lxml_5etree_22_IncrementalFileWriter_9element(PyObjec
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__extra, values, pos_args, "element") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v__extra, values, pos_args, "element") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else {
       switch (PyTuple_GET_SIZE(__pyx_args)) {
@@ -125847,7 +125541,7 @@ static PyObject *__pyx_pw_4lxml_5etree_22_IncrementalFileWriter_9element(PyObjec
   }
   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[7]; __pyx_lineno = 749; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("element", 0, 1, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_DECREF(__pyx_v__extra); __pyx_v__extra = 0;
   __Pyx_AddTraceback("lxml.etree._IncrementalFileWriter.element", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -125892,7 +125586,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   __Pyx_RefNannySetupContext("element", 0);
   __Pyx_INCREF(__pyx_v_attrib);
 
-  /* "src/lxml/serializer.pxi":754
+  /* "src/lxml/serializer.pxi":772
  *         Returns a context manager that writes an opening and closing tag.
  *         """
  *         assert self._c_out is not NULL             # <<<<<<<<<<<<<<
@@ -125903,24 +125597,24 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   if (unlikely(!Py_OptimizeFlag)) {
     if (unlikely(!((__pyx_v_self->_c_out != NULL) != 0))) {
       PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 754; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
   }
   #endif
 
-  /* "src/lxml/serializer.pxi":755
+  /* "src/lxml/serializer.pxi":773
  *         """
  *         assert self._c_out is not NULL
  *         attributes = []             # <<<<<<<<<<<<<<
  *         if attrib is not None:
  *             if isinstance(attrib, (dict, _Attrib)):
  */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 755; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_attributes = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":756
+  /* "src/lxml/serializer.pxi":774
  *         assert self._c_out is not NULL
  *         attributes = []
  *         if attrib is not None:             # <<<<<<<<<<<<<<
@@ -125931,7 +125625,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
 
-    /* "src/lxml/serializer.pxi":757
+    /* "src/lxml/serializer.pxi":775
  *         attributes = []
  *         if attrib is not None:
  *             if isinstance(attrib, (dict, _Attrib)):             # <<<<<<<<<<<<<<
@@ -125941,12 +125635,10 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
     __pyx_t_2 = PyDict_Check(__pyx_v_attrib); 
     __pyx_t_4 = (__pyx_t_2 != 0);
     if (!__pyx_t_4) {
-      goto __pyx_L6_next_or;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_or:;
     __pyx_t_4 = __Pyx_TypeCheck(__pyx_v_attrib, ((PyObject*)__pyx_ptype_4lxml_5etree__Attrib)); 
     __pyx_t_2 = (__pyx_t_4 != 0);
     __pyx_t_3 = __pyx_t_2;
@@ -125954,14 +125646,14 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
     __pyx_t_2 = (__pyx_t_3 != 0);
     if (__pyx_t_2) {
 
-      /* "src/lxml/serializer.pxi":758
+      /* "src/lxml/serializer.pxi":776
  *         if attrib is not None:
  *             if isinstance(attrib, (dict, _Attrib)):
  *                 attrib = attrib.items()             # <<<<<<<<<<<<<<
  *             for name, value in attrib:
  *                 if name not in _extra:
  */
-      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_items); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attrib, __pyx_n_s_items); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 776; __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_5))) {
@@ -125974,10 +125666,10 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         }
       }
       if (__pyx_t_6) {
-        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
       } else {
-        __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 758; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 776; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
       __Pyx_GOTREF(__pyx_t_1);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
@@ -125987,7 +125679,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
     }
     __pyx_L4:;
 
-    /* "src/lxml/serializer.pxi":759
+    /* "src/lxml/serializer.pxi":777
  *             if isinstance(attrib, (dict, _Attrib)):
  *                 attrib = attrib.items()
  *             for name, value in attrib:             # <<<<<<<<<<<<<<
@@ -125998,25 +125690,25 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       __pyx_t_1 = __pyx_v_attrib; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0;
       __pyx_t_8 = NULL;
     } else {
-      __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_attrib); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_attrib); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_1);
-      __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     for (;;) {
       if (likely(!__pyx_t_8)) {
         if (likely(PyList_CheckExact(__pyx_t_1))) {
           if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break;
           #if CYTHON_COMPILING_IN_CPYTHON
-          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_5 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #else
-          __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #endif
         } else {
           if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
           #if CYTHON_COMPILING_IN_CPYTHON
-          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_5); __pyx_t_7++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #else
-          __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_5 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #endif
         }
       } else {
@@ -126025,7 +125717,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
           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[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+            else {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           }
           break;
         }
@@ -126041,7 +125733,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         if (unlikely(size != 2)) {
           if (size > 2) __Pyx_RaiseTooManyValuesError(2);
           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         #if CYTHON_COMPILING_IN_CPYTHON
         if (likely(PyTuple_CheckExact(sequence))) {
@@ -126054,15 +125746,15 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __Pyx_INCREF(__pyx_t_6);
         __Pyx_INCREF(__pyx_t_9);
         #else
-        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_6);
-        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_9);
         #endif
         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       } else {
         Py_ssize_t index = -1;
-        __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_10 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_10);
         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
         __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
@@ -126070,7 +125762,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __Pyx_GOTREF(__pyx_t_6);
         index = 1; __pyx_t_9 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_9)) goto __pyx_L9_unpacking_failed;
         __Pyx_GOTREF(__pyx_t_9);
-        if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_t_11 = NULL;
         __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
         goto __pyx_L10_unpacking_done;
@@ -126078,7 +125770,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
         __pyx_t_11 = NULL;
         if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 777; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_L10_unpacking_done:;
       }
       __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
@@ -126086,25 +125778,25 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_9);
       __pyx_t_9 = 0;
 
-      /* "src/lxml/serializer.pxi":760
+      /* "src/lxml/serializer.pxi":778
  *                 attrib = attrib.items()
  *             for name, value in attrib:
  *                 if name not in _extra:             # <<<<<<<<<<<<<<
  *                     ns, name = _getNsTag(name)
  *                     attributes.append((ns, name, _utf8(value)))
  */
-      __pyx_t_2 = (__Pyx_PyDict_Contains(__pyx_v_name, __pyx_v__extra, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 760; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_2 = (__Pyx_PyDict_Contains(__pyx_v_name, __pyx_v__extra, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 778; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_t_3 = (__pyx_t_2 != 0);
       if (__pyx_t_3) {
 
-        /* "src/lxml/serializer.pxi":761
+        /* "src/lxml/serializer.pxi":779
  *             for name, value in attrib:
  *                 if name not in _extra:
  *                     ns, name = _getNsTag(name)             # <<<<<<<<<<<<<<
  *                     attributes.append((ns, name, _utf8(value)))
  *         if _extra:
  */
-        __pyx_t_5 = __pyx_f_4lxml_5etree__getNsTag(__pyx_v_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = __pyx_f_4lxml_5etree__getNsTag(__pyx_v_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_5);
         if (likely(__pyx_t_5 != Py_None)) {
           PyObject* sequence = __pyx_t_5;
@@ -126116,7 +125808,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
           if (unlikely(size != 2)) {
             if (size > 2) __Pyx_RaiseTooManyValuesError(2);
             else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-            {__pyx_filename = __pyx_f[7]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+            {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           }
           #if CYTHON_COMPILING_IN_CPYTHON
           __pyx_t_9 = PyTuple_GET_ITEM(sequence, 0); 
@@ -126124,30 +125816,30 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
           __Pyx_INCREF(__pyx_t_9);
           __Pyx_INCREF(__pyx_t_6);
           #else
-          __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_9 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           __Pyx_GOTREF(__pyx_t_9);
-          __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           __Pyx_GOTREF(__pyx_t_6);
           #endif
           __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
         } else {
-          __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 761; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_9);
         __pyx_t_9 = 0;
         __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_6);
         __pyx_t_6 = 0;
 
-        /* "src/lxml/serializer.pxi":762
+        /* "src/lxml/serializer.pxi":780
  *                 if name not in _extra:
  *                     ns, name = _getNsTag(name)
  *                     attributes.append((ns, name, _utf8(value)))             # <<<<<<<<<<<<<<
  *         if _extra:
  *             for name, value in _extra.iteritems():
  */
-        __pyx_t_5 = __pyx_f_4lxml_5etree__utf8(__pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = __pyx_f_4lxml_5etree__utf8(__pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_5);
-        __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_6);
         __Pyx_INCREF(__pyx_v_ns);
         PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_ns);
@@ -126158,13 +125850,13 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
         __Pyx_GIVEREF(__pyx_t_5);
         __pyx_t_5 = 0;
-        __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_attributes, __pyx_t_6); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 762; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_attributes, __pyx_t_6); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
         goto __pyx_L11;
       }
       __pyx_L11:;
 
-      /* "src/lxml/serializer.pxi":759
+      /* "src/lxml/serializer.pxi":777
  *             if isinstance(attrib, (dict, _Attrib)):
  *                 attrib = attrib.items()
  *             for name, value in attrib:             # <<<<<<<<<<<<<<
@@ -126177,17 +125869,17 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":763
+  /* "src/lxml/serializer.pxi":781
  *                     ns, name = _getNsTag(name)
  *                     attributes.append((ns, name, _utf8(value)))
  *         if _extra:             # <<<<<<<<<<<<<<
  *             for name, value in _extra.iteritems():
  *                 ns, name = _getNsTag(name)
  */
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__extra); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 763; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v__extra); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (__pyx_t_3) {
 
-    /* "src/lxml/serializer.pxi":764
+    /* "src/lxml/serializer.pxi":782
  *                     attributes.append((ns, name, _utf8(value)))
  *         if _extra:
  *             for name, value in _extra.iteritems():             # <<<<<<<<<<<<<<
@@ -126195,7 +125887,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
  *                 attributes.append((ns, name, _utf8(value)))
  */
     __pyx_t_7 = 0;
-    __pyx_t_6 = __Pyx_dict_iterator(__pyx_v__extra, 1, __pyx_n_s_iteritems, (&__pyx_t_13), (&__pyx_t_14)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = __Pyx_dict_iterator(__pyx_v__extra, 1, __pyx_n_s_iteritems, (&__pyx_t_13), (&__pyx_t_14)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_6);
     __Pyx_XDECREF(__pyx_t_1);
     __pyx_t_1 = __pyx_t_6;
@@ -126203,7 +125895,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
     while (1) {
       __pyx_t_15 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_13, &__pyx_t_7, &__pyx_t_6, &__pyx_t_5, NULL, __pyx_t_14);
       if (unlikely(__pyx_t_15 == 0)) break;
-      if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 764; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (unlikely(__pyx_t_15 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 782; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
@@ -126211,14 +125903,14 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_5);
       __pyx_t_5 = 0;
 
-      /* "src/lxml/serializer.pxi":765
+      /* "src/lxml/serializer.pxi":783
  *         if _extra:
  *             for name, value in _extra.iteritems():
  *                 ns, name = _getNsTag(name)             # <<<<<<<<<<<<<<
  *                 attributes.append((ns, name, _utf8(value)))
  *         reversed_nsmap = {}
  */
-      __pyx_t_5 = __pyx_f_4lxml_5etree__getNsTag(__pyx_v_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = __pyx_f_4lxml_5etree__getNsTag(__pyx_v_name); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       if (likely(__pyx_t_5 != Py_None)) {
         PyObject* sequence = __pyx_t_5;
@@ -126230,7 +125922,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         if (unlikely(size != 2)) {
           if (size > 2) __Pyx_RaiseTooManyValuesError(2);
           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         #if CYTHON_COMPILING_IN_CPYTHON
         __pyx_t_6 = PyTuple_GET_ITEM(sequence, 0); 
@@ -126238,30 +125930,30 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __Pyx_INCREF(__pyx_t_6);
         __Pyx_INCREF(__pyx_t_9);
         #else
-        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_6);
-        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_9 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_9);
         #endif
         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       } else {
-        __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 765; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 783; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
       __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_6);
       __pyx_t_6 = 0;
       __Pyx_DECREF_SET(__pyx_v_name, __pyx_t_9);
       __pyx_t_9 = 0;
 
-      /* "src/lxml/serializer.pxi":766
+      /* "src/lxml/serializer.pxi":784
  *             for name, value in _extra.iteritems():
  *                 ns, name = _getNsTag(name)
  *                 attributes.append((ns, name, _utf8(value)))             # <<<<<<<<<<<<<<
  *         reversed_nsmap = {}
  *         if nsmap:
  */
-      __pyx_t_5 = __pyx_f_4lxml_5etree__utf8(__pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = __pyx_f_4lxml_5etree__utf8(__pyx_v_value); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_9);
       __Pyx_INCREF(__pyx_v_ns);
       PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_ns);
@@ -126272,7 +125964,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       PyTuple_SET_ITEM(__pyx_t_9, 2, __pyx_t_5);
       __Pyx_GIVEREF(__pyx_t_5);
       __pyx_t_5 = 0;
-      __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_attributes, __pyx_t_9); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 766; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_12 = __Pyx_PyList_Append(__pyx_v_attributes, __pyx_t_9); if (unlikely(__pyx_t_12 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 784; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
     }
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
@@ -126280,36 +125972,36 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   }
   __pyx_L12:;
 
-  /* "src/lxml/serializer.pxi":767
+  /* "src/lxml/serializer.pxi":785
  *                 ns, name = _getNsTag(name)
  *                 attributes.append((ns, name, _utf8(value)))
  *         reversed_nsmap = {}             # <<<<<<<<<<<<<<
  *         if nsmap:
  *             for prefix, ns in nsmap.items():
  */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 767; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_reversed_nsmap = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":768
+  /* "src/lxml/serializer.pxi":786
  *                 attributes.append((ns, name, _utf8(value)))
  *         reversed_nsmap = {}
  *         if nsmap:             # <<<<<<<<<<<<<<
  *             for prefix, ns in nsmap.items():
  *                 if prefix is not None:
  */
-  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_nsmap); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 768; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_nsmap); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (__pyx_t_3) {
 
-    /* "src/lxml/serializer.pxi":769
+    /* "src/lxml/serializer.pxi":787
  *         reversed_nsmap = {}
  *         if nsmap:
  *             for prefix, ns in nsmap.items():             # <<<<<<<<<<<<<<
  *                 if prefix is not None:
  *                     prefix = _utf8(prefix)
  */
-    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_nsmap, __pyx_n_s_items); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_nsmap, __pyx_n_s_items); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_9);
     __pyx_t_5 = NULL;
     if (CYTHON_COMPILING_IN_CPYTHON && likely(PyMethod_Check(__pyx_t_9))) {
@@ -126322,10 +126014,10 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       }
     }
     if (__pyx_t_5) {
-      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     } else {
-      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_9); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     __Pyx_GOTREF(__pyx_t_1);
     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -126333,9 +126025,9 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       __pyx_t_9 = __pyx_t_1; __Pyx_INCREF(__pyx_t_9); __pyx_t_13 = 0;
       __pyx_t_8 = NULL;
     } else {
-      __pyx_t_13 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_13 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_9);
-      __pyx_t_8 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
     for (;;) {
@@ -126343,16 +126035,16 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         if (likely(PyList_CheckExact(__pyx_t_9))) {
           if (__pyx_t_13 >= PyList_GET_SIZE(__pyx_t_9)) break;
           #if CYTHON_COMPILING_IN_CPYTHON
-          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #else
-          __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #endif
         } else {
           if (__pyx_t_13 >= PyTuple_GET_SIZE(__pyx_t_9)) break;
           #if CYTHON_COMPILING_IN_CPYTHON
-          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_13); __Pyx_INCREF(__pyx_t_1); __pyx_t_13++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #else
-          __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_13); __pyx_t_13++; if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           #endif
         }
       } else {
@@ -126361,7 +126053,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
           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[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+            else {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           }
           break;
         }
@@ -126377,7 +126069,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         if (unlikely(size != 2)) {
           if (size > 2) __Pyx_RaiseTooManyValuesError(2);
           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         #if CYTHON_COMPILING_IN_CPYTHON
         if (likely(PyTuple_CheckExact(sequence))) {
@@ -126390,15 +126082,15 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __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[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __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[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __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_10 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_10 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_10)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_10);
         __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
         __pyx_t_11 = Py_TYPE(__pyx_t_10)->tp_iternext;
@@ -126406,7 +126098,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __Pyx_GOTREF(__pyx_t_5);
         index = 1; __pyx_t_6 = __pyx_t_11(__pyx_t_10); if (unlikely(!__pyx_t_6)) goto __pyx_L18_unpacking_failed;
         __Pyx_GOTREF(__pyx_t_6);
-        if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_11(__pyx_t_10), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_t_11 = NULL;
         __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
         goto __pyx_L19_unpacking_done;
@@ -126414,7 +126106,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
         __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
         __pyx_t_11 = NULL;
         if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 769; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_L19_unpacking_done:;
       }
       __Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_5);
@@ -126422,7 +126114,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_6);
       __pyx_t_6 = 0;
 
-      /* "src/lxml/serializer.pxi":770
+      /* "src/lxml/serializer.pxi":788
  *         if nsmap:
  *             for prefix, ns in nsmap.items():
  *                 if prefix is not None:             # <<<<<<<<<<<<<<
@@ -126433,43 +126125,43 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
       __pyx_t_2 = (__pyx_t_3 != 0);
       if (__pyx_t_2) {
 
-        /* "src/lxml/serializer.pxi":771
+        /* "src/lxml/serializer.pxi":789
  *             for prefix, ns in nsmap.items():
  *                 if prefix is not None:
  *                     prefix = _utf8(prefix)             # <<<<<<<<<<<<<<
  *                     _prefixValidOrRaise(prefix)
  *                 reversed_nsmap[_utf8(ns)] = prefix
  */
-        __pyx_t_1 = __pyx_f_4lxml_5etree__utf8(__pyx_v_prefix); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 771; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_1 = __pyx_f_4lxml_5etree__utf8(__pyx_v_prefix); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 789; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_1);
         __Pyx_DECREF_SET(__pyx_v_prefix, __pyx_t_1);
         __pyx_t_1 = 0;
 
-        /* "src/lxml/serializer.pxi":772
+        /* "src/lxml/serializer.pxi":790
  *                 if prefix is not None:
  *                     prefix = _utf8(prefix)
  *                     _prefixValidOrRaise(prefix)             # <<<<<<<<<<<<<<
  *                 reversed_nsmap[_utf8(ns)] = prefix
  *         ns, name = _getNsTag(tag)
  */
-        __pyx_t_14 = __pyx_f_4lxml_5etree__prefixValidOrRaise(__pyx_v_prefix); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 772; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_14 = __pyx_f_4lxml_5etree__prefixValidOrRaise(__pyx_v_prefix); if (unlikely(__pyx_t_14 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         goto __pyx_L20;
       }
       __pyx_L20:;
 
-      /* "src/lxml/serializer.pxi":773
+      /* "src/lxml/serializer.pxi":791
  *                     prefix = _utf8(prefix)
  *                     _prefixValidOrRaise(prefix)
  *                 reversed_nsmap[_utf8(ns)] = prefix             # <<<<<<<<<<<<<<
  *         ns, name = _getNsTag(tag)
  *         return _FileWriterElement(self, (ns, name, attributes, reversed_nsmap))
  */
-      __pyx_t_1 = __pyx_f_4lxml_5etree__utf8(__pyx_v_ns); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_1 = __pyx_f_4lxml_5etree__utf8(__pyx_v_ns); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_1);
-      if (unlikely(PyDict_SetItem(__pyx_v_reversed_nsmap, __pyx_t_1, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 773; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (unlikely(PyDict_SetItem(__pyx_v_reversed_nsmap, __pyx_t_1, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-      /* "src/lxml/serializer.pxi":769
+      /* "src/lxml/serializer.pxi":787
  *         reversed_nsmap = {}
  *         if nsmap:
  *             for prefix, ns in nsmap.items():             # <<<<<<<<<<<<<<
@@ -126482,14 +126174,14 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   }
   __pyx_L15:;
 
-  /* "src/lxml/serializer.pxi":774
+  /* "src/lxml/serializer.pxi":792
  *                     _prefixValidOrRaise(prefix)
  *                 reversed_nsmap[_utf8(ns)] = prefix
  *         ns, name = _getNsTag(tag)             # <<<<<<<<<<<<<<
  *         return _FileWriterElement(self, (ns, name, attributes, reversed_nsmap))
  * 
  */
-  __pyx_t_9 = __pyx_f_4lxml_5etree__getNsTag(__pyx_v_tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_9 = __pyx_f_4lxml_5etree__getNsTag(__pyx_v_tag); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (likely(__pyx_t_9 != Py_None)) {
     PyObject* sequence = __pyx_t_9;
@@ -126501,7 +126193,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
     if (unlikely(size != 2)) {
       if (size > 2) __Pyx_RaiseTooManyValuesError(2);
       else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     #if CYTHON_COMPILING_IN_CPYTHON
     __pyx_t_1 = PyTuple_GET_ITEM(sequence, 0); 
@@ -126509,21 +126201,21 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
     __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[7]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __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[7]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_6);
     #endif
     __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
   } else {
-    __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 774; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __Pyx_RaiseNoneNotIterableError(); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
   __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_1);
   __pyx_t_1 = 0;
   __Pyx_XDECREF_SET(__pyx_v_name, __pyx_t_6);
   __pyx_t_6 = 0;
 
-  /* "src/lxml/serializer.pxi":775
+  /* "src/lxml/serializer.pxi":793
  *                 reversed_nsmap[_utf8(ns)] = prefix
  *         ns, name = _getNsTag(tag)
  *         return _FileWriterElement(self, (ns, name, attributes, reversed_nsmap))             # <<<<<<<<<<<<<<
@@ -126531,7 +126223,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
  *     cdef _write_qname(self, bytes name, bytes prefix):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_9 = PyTuple_New(4); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   __Pyx_INCREF(__pyx_v_ns);
   PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_v_ns);
@@ -126545,7 +126237,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   __Pyx_INCREF(__pyx_v_reversed_nsmap);
   PyTuple_SET_ITEM(__pyx_t_9, 3, __pyx_v_reversed_nsmap);
   __Pyx_GIVEREF(__pyx_v_reversed_nsmap);
-  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_6);
   __Pyx_INCREF(((PyObject *)__pyx_v_self));
   PyTuple_SET_ITEM(__pyx_t_6, 0, ((PyObject *)__pyx_v_self));
@@ -126553,14 +126245,14 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_9);
   __Pyx_GIVEREF(__pyx_t_9);
   __pyx_t_9 = 0;
-  __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree__FileWriterElement)), __pyx_t_6, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 775; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_9 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree__FileWriterElement)), __pyx_t_6, NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 793; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
   __pyx_r = __pyx_t_9;
   __pyx_t_9 = 0;
   goto __pyx_L0;
 
-  /* "src/lxml/serializer.pxi":749
+  /* "src/lxml/serializer.pxi":767
  *         self._handle_error(self._c_out.error)
  * 
  *     def element(self, tag, attrib=None, nsmap=None, **_extra):             # <<<<<<<<<<<<<<
@@ -126590,7 +126282,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_8element(struct
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":777
+/* "src/lxml/serializer.pxi":795
  *         return _FileWriterElement(self, (ns, name, attributes, reversed_nsmap))
  * 
  *     cdef _write_qname(self, bytes name, bytes prefix):             # <<<<<<<<<<<<<<
@@ -126609,7 +126301,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(stru
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_write_qname", 0);
 
-  /* "src/lxml/serializer.pxi":778
+  /* "src/lxml/serializer.pxi":796
  * 
  *     cdef _write_qname(self, bytes name, bytes prefix):
  *         if prefix is not None:             # <<<<<<<<<<<<<<
@@ -126620,7 +126312,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(stru
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (__pyx_t_2) {
 
-    /* "src/lxml/serializer.pxi":779
+    /* "src/lxml/serializer.pxi":797
  *     cdef _write_qname(self, bytes name, bytes prefix):
  *         if prefix is not None:
  *             tree.xmlOutputBufferWrite(self._c_out, len(prefix), _cstr(prefix))             # <<<<<<<<<<<<<<
@@ -126629,24 +126321,24 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(stru
  */
     if (unlikely(__pyx_v_prefix == Py_None)) {
       PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
-    __pyx_t_3 = PyBytes_GET_SIZE(__pyx_v_prefix); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 779; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyBytes_GET_SIZE(__pyx_v_prefix); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 797; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     xmlOutputBufferWrite(__pyx_v_self->_c_out, __pyx_t_3, PyBytes_AS_STRING(__pyx_v_prefix));
 
-    /* "src/lxml/serializer.pxi":780
+    /* "src/lxml/serializer.pxi":798
  *         if prefix is not None:
  *             tree.xmlOutputBufferWrite(self._c_out, len(prefix), _cstr(prefix))
  *             tree.xmlOutputBufferWrite(self._c_out, 1, ':')             # <<<<<<<<<<<<<<
  *         tree.xmlOutputBufferWrite(self._c_out, len(name), _cstr(name))
  * 
  */
-    xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__61);
+    xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__62);
     goto __pyx_L3;
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":781
+  /* "src/lxml/serializer.pxi":799
  *             tree.xmlOutputBufferWrite(self._c_out, len(prefix), _cstr(prefix))
  *             tree.xmlOutputBufferWrite(self._c_out, 1, ':')
  *         tree.xmlOutputBufferWrite(self._c_out, len(name), _cstr(name))             # <<<<<<<<<<<<<<
@@ -126655,12 +126347,12 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(stru
  */
   if (unlikely(__pyx_v_name == Py_None)) {
     PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_3 = PyBytes_GET_SIZE(__pyx_v_name); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 781; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = PyBytes_GET_SIZE(__pyx_v_name); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 799; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   xmlOutputBufferWrite(__pyx_v_self->_c_out, __pyx_t_3, PyBytes_AS_STRING(__pyx_v_name));
 
-  /* "src/lxml/serializer.pxi":777
+  /* "src/lxml/serializer.pxi":795
  *         return _FileWriterElement(self, (ns, name, attributes, reversed_nsmap))
  * 
  *     cdef _write_qname(self, bytes name, bytes prefix):             # <<<<<<<<<<<<<<
@@ -126680,7 +126372,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(stru
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":783
+/* "src/lxml/serializer.pxi":801
  *         tree.xmlOutputBufferWrite(self._c_out, len(name), _cstr(name))
  * 
  *     cdef _write_start_element(self, element_config):             # <<<<<<<<<<<<<<
@@ -126711,7 +126403,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_write_start_element", 0);
 
-  /* "src/lxml/serializer.pxi":784
+  /* "src/lxml/serializer.pxi":802
  * 
  *     cdef _write_start_element(self, element_config):
  *         if self._status > WRITER_IN_ELEMENT:             # <<<<<<<<<<<<<<
@@ -126721,24 +126413,24 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   __pyx_t_1 = ((__pyx_v_self->_status > __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":785
+    /* "src/lxml/serializer.pxi":803
  *     cdef _write_start_element(self, element_config):
  *         if self._status > WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("cannot append trailing element to complete XML document")             # <<<<<<<<<<<<<<
  *         ns, name, attributes, nsmap = element_config
  *         flat_namespace_map, new_namespaces = self._collect_namespaces(nsmap)
  */
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__62, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__63, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 803; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
 
-  /* "src/lxml/serializer.pxi":786
+  /* "src/lxml/serializer.pxi":804
  *         if self._status > WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("cannot append trailing element to complete XML document")
  *         ns, name, attributes, nsmap = element_config             # <<<<<<<<<<<<<<
@@ -126755,7 +126447,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
     if (unlikely(size != 4)) {
       if (size > 4) __Pyx_RaiseTooManyValuesError(4);
       else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     #if CYTHON_COMPILING_IN_CPYTHON
     if (likely(PyTuple_CheckExact(sequence))) {
@@ -126778,7 +126470,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
       Py_ssize_t i;
       PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_2,&__pyx_t_4,&__pyx_t_5};
       for (i=0; i < 4; i++) {
-        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(item);
         *(temps[i]) = item;
       }
@@ -126787,7 +126479,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   } else {
     Py_ssize_t index = -1;
     PyObject** temps[4] = {&__pyx_t_3,&__pyx_t_2,&__pyx_t_4,&__pyx_t_5};
-    __pyx_t_6 = PyObject_GetIter(__pyx_v_element_config); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = PyObject_GetIter(__pyx_v_element_config); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_6);
     __pyx_t_7 = Py_TYPE(__pyx_t_6)->tp_iternext;
     for (index=0; index < 4; index++) {
@@ -126795,7 +126487,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
       __Pyx_GOTREF(item);
       *(temps[index]) = item;
     }
-    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_6), 4) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_7 = NULL;
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
     goto __pyx_L5_unpacking_done;
@@ -126803,7 +126495,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
     __pyx_t_7 = NULL;
     if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 786; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 804; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_L5_unpacking_done:;
   }
   __pyx_v_ns = __pyx_t_3;
@@ -126815,15 +126507,15 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   __pyx_v_nsmap = __pyx_t_5;
   __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":787
+  /* "src/lxml/serializer.pxi":805
  *             raise LxmlSyntaxError("cannot append trailing element to complete XML document")
  *         ns, name, attributes, nsmap = element_config
  *         flat_namespace_map, new_namespaces = self._collect_namespaces(nsmap)             # <<<<<<<<<<<<<<
  *         prefix = self._find_prefix(ns, flat_namespace_map, new_namespaces)
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '<')
  */
-  if (!(likely(PyDict_CheckExact(__pyx_v_nsmap))||((__pyx_v_nsmap) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_nsmap)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespaces(__pyx_v_self, ((PyObject*)__pyx_v_nsmap)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyDict_CheckExact(__pyx_v_nsmap))||((__pyx_v_nsmap) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_nsmap)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespaces(__pyx_v_self, ((PyObject*)__pyx_v_nsmap)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
     PyObject* sequence = __pyx_t_5;
@@ -126835,7 +126527,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
     if (unlikely(size != 2)) {
       if (size > 2) __Pyx_RaiseTooManyValuesError(2);
       else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     #if CYTHON_COMPILING_IN_CPYTHON
     if (likely(PyTuple_CheckExact(sequence))) {
@@ -126848,15 +126540,15 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
     __Pyx_INCREF(__pyx_t_4);
     __Pyx_INCREF(__pyx_t_2);
     #else
-    __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
-    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     #endif
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
   } else {
     Py_ssize_t index = -1;
-    __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     __pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext;
@@ -126864,7 +126556,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
     __Pyx_GOTREF(__pyx_t_4);
     index = 1; __pyx_t_2 = __pyx_t_7(__pyx_t_3); if (unlikely(!__pyx_t_2)) goto __pyx_L6_unpacking_failed;
     __Pyx_GOTREF(__pyx_t_2);
-    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (__Pyx_IternextUnpackEndCheck(__pyx_t_7(__pyx_t_3), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_7 = NULL;
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     goto __pyx_L7_unpacking_done;
@@ -126872,7 +126564,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __pyx_t_7 = NULL;
     if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 787; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 805; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_L7_unpacking_done:;
   }
   __pyx_v_flat_namespace_map = __pyx_t_4;
@@ -126880,76 +126572,76 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   __pyx_v_new_namespaces = __pyx_t_2;
   __pyx_t_2 = 0;
 
-  /* "src/lxml/serializer.pxi":788
+  /* "src/lxml/serializer.pxi":806
  *         ns, name, attributes, nsmap = element_config
  *         flat_namespace_map, new_namespaces = self._collect_namespaces(nsmap)
  *         prefix = self._find_prefix(ns, flat_namespace_map, new_namespaces)             # <<<<<<<<<<<<<<
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '<')
  *         self._write_qname(name, prefix)
  */
-  if (!(likely(PyBytes_CheckExact(__pyx_v_ns))||((__pyx_v_ns) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_ns)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!(likely(PyDict_CheckExact(__pyx_v_flat_namespace_map))||((__pyx_v_flat_namespace_map) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_flat_namespace_map)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!(likely(PyList_CheckExact(__pyx_v_new_namespaces))||((__pyx_v_new_namespaces) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_new_namespaces)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(__pyx_v_self, ((PyObject*)__pyx_v_ns), ((PyObject*)__pyx_v_flat_namespace_map), ((PyObject*)__pyx_v_new_namespaces)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 788; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyBytes_CheckExact(__pyx_v_ns))||((__pyx_v_ns) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_ns)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyDict_CheckExact(__pyx_v_flat_namespace_map))||((__pyx_v_flat_namespace_map) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_flat_namespace_map)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyList_CheckExact(__pyx_v_new_namespaces))||((__pyx_v_new_namespaces) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_new_namespaces)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(__pyx_v_self, ((PyObject*)__pyx_v_ns), ((PyObject*)__pyx_v_flat_namespace_map), ((PyObject*)__pyx_v_new_namespaces)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __pyx_v_prefix = __pyx_t_5;
   __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":789
+  /* "src/lxml/serializer.pxi":807
  *         flat_namespace_map, new_namespaces = self._collect_namespaces(nsmap)
  *         prefix = self._find_prefix(ns, flat_namespace_map, new_namespaces)
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '<')             # <<<<<<<<<<<<<<
  *         self._write_qname(name, prefix)
- *         self._write_attributes_and_namespaces(
+ * 
  */
-  xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__63);
+  xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__64);
 
-  /* "src/lxml/serializer.pxi":790
+  /* "src/lxml/serializer.pxi":808
  *         prefix = self._find_prefix(ns, flat_namespace_map, new_namespaces)
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '<')
  *         self._write_qname(name, prefix)             # <<<<<<<<<<<<<<
+ * 
  *         self._write_attributes_and_namespaces(
- *             attributes, flat_namespace_map, new_namespaces)
  */
-  if (!(likely(PyBytes_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_name)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!(likely(PyBytes_CheckExact(__pyx_v_prefix))||((__pyx_v_prefix) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_prefix)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(__pyx_v_self, ((PyObject*)__pyx_v_name), ((PyObject*)__pyx_v_prefix)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 790; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyBytes_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_name)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyBytes_CheckExact(__pyx_v_prefix))||((__pyx_v_prefix) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_prefix)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(__pyx_v_self, ((PyObject*)__pyx_v_name), ((PyObject*)__pyx_v_prefix)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":792
- *         self._write_qname(name, prefix)
+  /* "src/lxml/serializer.pxi":811
+ * 
  *         self._write_attributes_and_namespaces(
  *             attributes, flat_namespace_map, new_namespaces)             # <<<<<<<<<<<<<<
+ * 
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
- *         if not self._buffered:
  */
-  if (!(likely(PyList_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!(likely(PyDict_CheckExact(__pyx_v_flat_namespace_map))||((__pyx_v_flat_namespace_map) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_flat_namespace_map)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!(likely(PyList_CheckExact(__pyx_v_new_namespaces))||((__pyx_v_new_namespaces) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_new_namespaces)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 792; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyList_CheckExact(__pyx_v_attributes))||((__pyx_v_attributes) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_attributes)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyDict_CheckExact(__pyx_v_flat_namespace_map))||((__pyx_v_flat_namespace_map) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "dict", Py_TYPE(__pyx_v_flat_namespace_map)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyList_CheckExact(__pyx_v_new_namespaces))||((__pyx_v_new_namespaces) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_v_new_namespaces)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "src/lxml/serializer.pxi":791
- *         tree.xmlOutputBufferWrite(self._c_out, 1, '<')
+  /* "src/lxml/serializer.pxi":810
  *         self._write_qname(name, prefix)
+ * 
  *         self._write_attributes_and_namespaces(             # <<<<<<<<<<<<<<
  *             attributes, flat_namespace_map, new_namespaces)
- *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
+ * 
  */
-  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes_and_namespaces(__pyx_v_self, ((PyObject*)__pyx_v_attributes), ((PyObject*)__pyx_v_flat_namespace_map), ((PyObject*)__pyx_v_new_namespaces)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 791; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes_and_namespaces(__pyx_v_self, ((PyObject*)__pyx_v_attributes), ((PyObject*)__pyx_v_flat_namespace_map), ((PyObject*)__pyx_v_new_namespaces)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":793
- *         self._write_attributes_and_namespaces(
+  /* "src/lxml/serializer.pxi":813
  *             attributes, flat_namespace_map, new_namespaces)
+ * 
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')             # <<<<<<<<<<<<<<
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)
  */
-  xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__64);
+  xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__65);
 
-  /* "src/lxml/serializer.pxi":794
- *             attributes, flat_namespace_map, new_namespaces)
+  /* "src/lxml/serializer.pxi":814
+ * 
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
  *         if not self._buffered:             # <<<<<<<<<<<<<<
  *             tree.xmlOutputBufferFlush(self._c_out)
@@ -126958,7 +126650,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   __pyx_t_1 = ((!(__pyx_v_self->_buffered != 0)) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":795
+    /* "src/lxml/serializer.pxi":815
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)             # <<<<<<<<<<<<<<
@@ -126970,18 +126662,18 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   }
   __pyx_L8:;
 
-  /* "src/lxml/serializer.pxi":796
+  /* "src/lxml/serializer.pxi":816
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)
  *         self._handle_error(self._c_out.error)             # <<<<<<<<<<<<<<
  * 
  *         self._element_stack.append((ns, name, prefix, flat_namespace_map))
  */
-  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 796; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":798
+  /* "src/lxml/serializer.pxi":818
  *         self._handle_error(self._c_out.error)
  * 
  *         self._element_stack.append((ns, name, prefix, flat_namespace_map))             # <<<<<<<<<<<<<<
@@ -126990,9 +126682,9 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
  */
   if (unlikely(__pyx_v_self->_element_stack == Py_None)) {
     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __Pyx_INCREF(__pyx_v_ns);
   PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_ns);
@@ -127006,10 +126698,10 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   __Pyx_INCREF(__pyx_v_flat_namespace_map);
   PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_flat_namespace_map);
   __Pyx_GIVEREF(__pyx_v_flat_namespace_map);
-  __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->_element_stack, __pyx_t_5); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 798; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_8 = __Pyx_PyList_Append(__pyx_v_self->_element_stack, __pyx_t_5); if (unlikely(__pyx_t_8 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 
-  /* "src/lxml/serializer.pxi":799
+  /* "src/lxml/serializer.pxi":819
  * 
  *         self._element_stack.append((ns, name, prefix, flat_namespace_map))
  *         self._status = WRITER_IN_ELEMENT             # <<<<<<<<<<<<<<
@@ -127018,7 +126710,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
  */
   __pyx_v_self->_status = __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT;
 
-  /* "src/lxml/serializer.pxi":783
+  /* "src/lxml/serializer.pxi":801
  *         tree.xmlOutputBufferWrite(self._c_out, len(name), _cstr(name))
  * 
  *     cdef _write_start_element(self, element_config):             # <<<<<<<<<<<<<<
@@ -127050,7 +126742,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_elem
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":801
+/* "src/lxml/serializer.pxi":821
  *         self._status = WRITER_IN_ELEMENT
  * 
  *     cdef _write_attributes_and_namespaces(self, list attributes,             # <<<<<<<<<<<<<<
@@ -127081,7 +126773,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   __Pyx_RefNannySetupContext("_write_attributes_and_namespaces", 0);
   __Pyx_INCREF(__pyx_v_attributes);
 
-  /* "src/lxml/serializer.pxi":804
+  /* "src/lxml/serializer.pxi":824
  *                                           dict flat_namespace_map,
  *                                           list new_namespaces):
  *         if attributes:             # <<<<<<<<<<<<<<
@@ -127091,17 +126783,17 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   __pyx_t_1 = (__pyx_v_attributes != Py_None) && (PyList_GET_SIZE(__pyx_v_attributes) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":806
+    /* "src/lxml/serializer.pxi":826
  *         if attributes:
  *             # _find_prefix() may append to new_namespaces => build them first
  *             attributes = [             # <<<<<<<<<<<<<<
  *                 (self._find_prefix(ns, flat_namespace_map, new_namespaces), name, value)
  *                 for ns, name, value in attributes ]
  */
-    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
 
-    /* "src/lxml/serializer.pxi":808
+    /* "src/lxml/serializer.pxi":828
  *             attributes = [
  *                 (self._find_prefix(ns, flat_namespace_map, new_namespaces), name, value)
  *                 for ns, name, value in attributes ]             # <<<<<<<<<<<<<<
@@ -127110,15 +126802,15 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
  */
     if (unlikely(__pyx_v_attributes == Py_None)) {
       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     __pyx_t_3 = __pyx_v_attributes; __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[7]; __pyx_lineno = 808; __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[7]; __pyx_lineno = 828; __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[7]; __pyx_lineno = 808; __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[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       #endif
       if ((likely(PyTuple_CheckExact(__pyx_t_5))) || (PyList_CheckExact(__pyx_t_5))) {
         PyObject* sequence = __pyx_t_5;
@@ -127130,7 +126822,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
         if (unlikely(size != 3)) {
           if (size > 3) __Pyx_RaiseTooManyValuesError(3);
           else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         #if CYTHON_COMPILING_IN_CPYTHON
         if (likely(PyTuple_CheckExact(sequence))) {
@@ -127146,17 +126838,17 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
         __Pyx_INCREF(__pyx_t_7);
         __Pyx_INCREF(__pyx_t_8);
         #else
-        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __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[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_7);
-        __pyx_t_8 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_8 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_8);
         #endif
         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       } else {
         Py_ssize_t index = -1;
-        __pyx_t_9 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_9 = PyObject_GetIter(__pyx_t_5); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_9);
         __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
         __pyx_t_10 = Py_TYPE(__pyx_t_9)->tp_iternext;
@@ -127166,7 +126858,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
         __Pyx_GOTREF(__pyx_t_7);
         index = 2; __pyx_t_8 = __pyx_t_10(__pyx_t_9); if (unlikely(!__pyx_t_8)) goto __pyx_L6_unpacking_failed;
         __Pyx_GOTREF(__pyx_t_8);
-        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 3) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        if (__Pyx_IternextUnpackEndCheck(__pyx_t_10(__pyx_t_9), 3) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_t_10 = NULL;
         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
         goto __pyx_L7_unpacking_done;
@@ -127174,7 +126866,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
         __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
         __pyx_t_10 = NULL;
         if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 808; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 828; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_L7_unpacking_done:;
       }
       __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_6);
@@ -127184,17 +126876,17 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
       __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_8);
       __pyx_t_8 = 0;
 
-      /* "src/lxml/serializer.pxi":807
+      /* "src/lxml/serializer.pxi":827
  *             # _find_prefix() may append to new_namespaces => build them first
  *             attributes = [
  *                 (self._find_prefix(ns, flat_namespace_map, new_namespaces), name, value)             # <<<<<<<<<<<<<<
  *                 for ns, name, value in attributes ]
  *         if new_namespaces:
  */
-      if (!(likely(PyBytes_CheckExact(__pyx_v_ns))||((__pyx_v_ns) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_ns)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-      __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(__pyx_v_self, ((PyObject*)__pyx_v_ns), __pyx_v_flat_namespace_map, __pyx_v_new_namespaces); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (!(likely(PyBytes_CheckExact(__pyx_v_ns))||((__pyx_v_ns) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_ns)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(__pyx_v_self, ((PyObject*)__pyx_v_ns), __pyx_v_flat_namespace_map, __pyx_v_new_namespaces); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 807; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_8);
       PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5);
       __Pyx_GIVEREF(__pyx_t_5);
@@ -127205,10 +126897,10 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
       PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_v_value);
       __Pyx_GIVEREF(__pyx_v_value);
       __pyx_t_5 = 0;
-      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 806; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (unlikely(__Pyx_ListComp_Append(__pyx_t_2, (PyObject*)__pyx_t_8))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
 
-      /* "src/lxml/serializer.pxi":808
+      /* "src/lxml/serializer.pxi":828
  *             attributes = [
  *                 (self._find_prefix(ns, flat_namespace_map, new_namespaces), name, value)
  *                 for ns, name, value in attributes ]             # <<<<<<<<<<<<<<
@@ -127223,7 +126915,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":809
+  /* "src/lxml/serializer.pxi":829
  *                 (self._find_prefix(ns, flat_namespace_map, new_namespaces), name, value)
  *                 for ns, name, value in attributes ]
  *         if new_namespaces:             # <<<<<<<<<<<<<<
@@ -127233,7 +126925,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   __pyx_t_1 = (__pyx_v_new_namespaces != Py_None) && (PyList_GET_SIZE(__pyx_v_new_namespaces) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":810
+    /* "src/lxml/serializer.pxi":830
  *                 for ns, name, value in attributes ]
  *         if new_namespaces:
  *             new_namespaces.sort()             # <<<<<<<<<<<<<<
@@ -127242,25 +126934,25 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
  */
     if (unlikely(__pyx_v_new_namespaces == Py_None)) {
       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "sort");
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
-    __pyx_t_11 = PyList_Sort(__pyx_v_new_namespaces); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 810; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_11 = PyList_Sort(__pyx_v_new_namespaces); if (unlikely(__pyx_t_11 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 830; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-    /* "src/lxml/serializer.pxi":811
+    /* "src/lxml/serializer.pxi":831
  *         if new_namespaces:
  *             new_namespaces.sort()
  *             self._write_attributes_list(new_namespaces)             # <<<<<<<<<<<<<<
  *         if attributes:
  *             self._write_attributes_list(attributes)
  */
-    __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes_list(__pyx_v_self, __pyx_v_new_namespaces); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 811; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes_list(__pyx_v_self, __pyx_v_new_namespaces); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L8;
   }
   __pyx_L8:;
 
-  /* "src/lxml/serializer.pxi":812
+  /* "src/lxml/serializer.pxi":832
  *             new_namespaces.sort()
  *             self._write_attributes_list(new_namespaces)
  *         if attributes:             # <<<<<<<<<<<<<<
@@ -127270,21 +126962,21 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   __pyx_t_1 = (__pyx_v_attributes != Py_None) && (PyList_GET_SIZE(__pyx_v_attributes) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":813
+    /* "src/lxml/serializer.pxi":833
  *             self._write_attributes_list(new_namespaces)
  *         if attributes:
  *             self._write_attributes_list(attributes)             # <<<<<<<<<<<<<<
  * 
  *     cdef _write_attributes_list(self, list attributes):
  */
-    __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes_list(__pyx_v_self, __pyx_v_attributes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 813; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes_list(__pyx_v_self, __pyx_v_attributes); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 833; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L9;
   }
   __pyx_L9:;
 
-  /* "src/lxml/serializer.pxi":801
+  /* "src/lxml/serializer.pxi":821
  *         self._status = WRITER_IN_ELEMENT
  * 
  *     cdef _write_attributes_and_namespaces(self, list attributes,             # <<<<<<<<<<<<<<
@@ -127315,7 +127007,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":815
+/* "src/lxml/serializer.pxi":835
  *             self._write_attributes_list(attributes)
  * 
  *     cdef _write_attributes_list(self, list attributes):             # <<<<<<<<<<<<<<
@@ -127342,7 +127034,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_write_attributes_list", 0);
 
-  /* "src/lxml/serializer.pxi":816
+  /* "src/lxml/serializer.pxi":836
  * 
  *     cdef _write_attributes_list(self, list attributes):
  *         for prefix, name, value in attributes:             # <<<<<<<<<<<<<<
@@ -127351,15 +127043,15 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
  */
   if (unlikely(__pyx_v_attributes == Py_None)) {
     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
   __pyx_t_1 = __pyx_v_attributes; __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[7]; __pyx_lineno = 816; __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[7]; __pyx_lineno = 836; __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[7]; __pyx_lineno = 816; __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[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     #endif
     if ((likely(PyTuple_CheckExact(__pyx_t_3))) || (PyList_CheckExact(__pyx_t_3))) {
       PyObject* sequence = __pyx_t_3;
@@ -127371,7 +127063,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
       if (unlikely(size != 3)) {
         if (size > 3) __Pyx_RaiseTooManyValuesError(3);
         else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
       #if CYTHON_COMPILING_IN_CPYTHON
       if (likely(PyTuple_CheckExact(sequence))) {
@@ -127387,17 +127079,17 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
       __Pyx_INCREF(__pyx_t_5);
       __Pyx_INCREF(__pyx_t_6);
       #else
-      __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __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[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
-      __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = PySequence_ITEM(sequence, 2); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       #endif
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     } else {
       Py_ssize_t index = -1;
-      __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_7 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_7);
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -127407,7 +127099,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
       __Pyx_GOTREF(__pyx_t_5);
       index = 2; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
       __Pyx_GOTREF(__pyx_t_6);
-      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 3) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 3) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_t_8 = NULL;
       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
       goto __pyx_L6_unpacking_done;
@@ -127415,7 +127107,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
       __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
       __pyx_t_8 = NULL;
       if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 816; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_L6_unpacking_done:;
     }
     __Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_4);
@@ -127425,7 +127117,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
     __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6);
     __pyx_t_6 = 0;
 
-    /* "src/lxml/serializer.pxi":817
+    /* "src/lxml/serializer.pxi":837
  *     cdef _write_attributes_list(self, list attributes):
  *         for prefix, name, value in attributes:
  *             tree.xmlOutputBufferWrite(self._c_out, 1, ' ')             # <<<<<<<<<<<<<<
@@ -127434,29 +127126,29 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
  */
     xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__14);
 
-    /* "src/lxml/serializer.pxi":818
+    /* "src/lxml/serializer.pxi":838
  *         for prefix, name, value in attributes:
  *             tree.xmlOutputBufferWrite(self._c_out, 1, ' ')
  *             self._write_qname(name, prefix)             # <<<<<<<<<<<<<<
  *             tree.xmlOutputBufferWrite(self._c_out, 2, '="')
  *             tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(value), NULL)
  */
-    if (!(likely(PyBytes_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_name)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    if (!(likely(PyBytes_CheckExact(__pyx_v_prefix))||((__pyx_v_prefix) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_prefix)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-    __pyx_t_3 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(__pyx_v_self, ((PyObject*)__pyx_v_name), ((PyObject*)__pyx_v_prefix)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 818; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (!(likely(PyBytes_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_name)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (!(likely(PyBytes_CheckExact(__pyx_v_prefix))||((__pyx_v_prefix) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_prefix)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(__pyx_v_self, ((PyObject*)__pyx_v_name), ((PyObject*)__pyx_v_prefix)); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
-    /* "src/lxml/serializer.pxi":819
+    /* "src/lxml/serializer.pxi":839
  *             tree.xmlOutputBufferWrite(self._c_out, 1, ' ')
  *             self._write_qname(name, prefix)
  *             tree.xmlOutputBufferWrite(self._c_out, 2, '="')             # <<<<<<<<<<<<<<
  *             tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(value), NULL)
  *             tree.xmlOutputBufferWrite(self._c_out, 1, '"')
  */
-    xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__65);
+    xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__66);
 
-    /* "src/lxml/serializer.pxi":820
+    /* "src/lxml/serializer.pxi":840
  *             self._write_qname(name, prefix)
  *             tree.xmlOutputBufferWrite(self._c_out, 2, '="')
  *             tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(value), NULL)             # <<<<<<<<<<<<<<
@@ -127465,7 +127157,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
  */
     xmlOutputBufferWriteEscape(__pyx_v_self->_c_out, (const xmlChar*)PyBytes_AS_STRING(__pyx_v_value), NULL);
 
-    /* "src/lxml/serializer.pxi":821
+    /* "src/lxml/serializer.pxi":841
  *             tree.xmlOutputBufferWrite(self._c_out, 2, '="')
  *             tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(value), NULL)
  *             tree.xmlOutputBufferWrite(self._c_out, 1, '"')             # <<<<<<<<<<<<<<
@@ -127474,7 +127166,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
  */
     xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__54);
 
-    /* "src/lxml/serializer.pxi":816
+    /* "src/lxml/serializer.pxi":836
  * 
  *     cdef _write_attributes_list(self, list attributes):
  *         for prefix, name, value in attributes:             # <<<<<<<<<<<<<<
@@ -127484,7 +127176,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   }
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":815
+  /* "src/lxml/serializer.pxi":835
  *             self._write_attributes_list(attributes)
  * 
  *     cdef _write_attributes_list(self, list attributes):             # <<<<<<<<<<<<<<
@@ -127513,7 +127205,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_attributes
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":823
+/* "src/lxml/serializer.pxi":843
  *             tree.xmlOutputBufferWrite(self._c_out, 1, '"')
  * 
  *     cdef _write_end_element(self, element_config):             # <<<<<<<<<<<<<<
@@ -127539,7 +127231,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_write_end_element", 0);
 
-  /* "src/lxml/serializer.pxi":824
+  /* "src/lxml/serializer.pxi":844
  * 
  *     cdef _write_end_element(self, element_config):
  *         if self._status != WRITER_IN_ELEMENT:             # <<<<<<<<<<<<<<
@@ -127549,24 +127241,24 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   __pyx_t_1 = ((__pyx_v_self->_status != __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":825
+    /* "src/lxml/serializer.pxi":845
  *     cdef _write_end_element(self, element_config):
  *         if self._status != WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("not in an element")             # <<<<<<<<<<<<<<
  *         if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")
  */
-    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__66, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__67, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 845; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
 
-  /* "src/lxml/serializer.pxi":826
+  /* "src/lxml/serializer.pxi":846
  *         if self._status != WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("not in an element")
  *         if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:             # <<<<<<<<<<<<<<
@@ -127576,50 +127268,48 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   __pyx_t_4 = (__pyx_v_self->_element_stack != Py_None) && (PyList_GET_SIZE(__pyx_v_self->_element_stack) != 0);
   __pyx_t_5 = ((!__pyx_t_4) != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_5;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   if (unlikely(__pyx_v_self->_element_stack == Py_None)) {
     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->_element_stack, -1, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+  __pyx_t_3 = __Pyx_GetItemInt_List(__pyx_v_self->_element_stack, -1, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __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__67, 0, 1, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __Pyx_PyObject_GetSlice(__pyx_t_3, 0, 2, NULL, NULL, &__pyx_slice__68, 0, 1, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __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__68, 0, 1, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_element_config, 0, 2, NULL, NULL, &__pyx_slice__69, 0, 1, 1); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __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 = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __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 = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
   __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
   __pyx_t_1 = __pyx_t_5;
   __pyx_L5_bool_binop_done:;
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":827
+    /* "src/lxml/serializer.pxi":847
  *             raise LxmlSyntaxError("not in an element")
  *         if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")             # <<<<<<<<<<<<<<
  * 
  *         name, prefix = self._element_stack.pop()[1:3]
  */
-    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_6);
-    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__69, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__70, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 847; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
 
-  /* "src/lxml/serializer.pxi":829
+  /* "src/lxml/serializer.pxi":849
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")
  * 
  *         name, prefix = self._element_stack.pop()[1:3]             # <<<<<<<<<<<<<<
@@ -127628,11 +127318,11 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
  */
   if (unlikely(__pyx_v_self->_element_stack == Py_None)) {
     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "pop");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_3 = __Pyx_PyList_Pop(__pyx_v_self->_element_stack); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyList_Pop(__pyx_v_self->_element_stack); 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_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 3, NULL, NULL, &__pyx_slice__70, 1, 1, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_6 = __Pyx_PyObject_GetSlice(__pyx_t_3, 1, 3, NULL, NULL, &__pyx_slice__71, 1, 1, 1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __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))) {
@@ -127645,7 +127335,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
     if (unlikely(size != 2)) {
       if (size > 2) __Pyx_RaiseTooManyValuesError(2);
       else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     #if CYTHON_COMPILING_IN_CPYTHON
     if (likely(PyTuple_CheckExact(sequence))) {
@@ -127658,15 +127348,15 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
     __Pyx_INCREF(__pyx_t_3);
     __Pyx_INCREF(__pyx_t_2);
     #else
-    __pyx_t_3 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PySequence_ITEM(sequence, 0); 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_t_2 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = PySequence_ITEM(sequence, 1); 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);
     #endif
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
   } else {
     Py_ssize_t index = -1;
-    __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_7 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_7);
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
     __pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
@@ -127674,7 +127364,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
     __Pyx_GOTREF(__pyx_t_3);
     index = 1; __pyx_t_2 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_2)) goto __pyx_L7_unpacking_failed;
     __Pyx_GOTREF(__pyx_t_2);
-    if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_8 = NULL;
     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
     goto __pyx_L8_unpacking_done;
@@ -127682,7 +127372,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
     __pyx_t_8 = NULL;
     if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_L8_unpacking_done:;
   }
   __pyx_v_name = __pyx_t_3;
@@ -127690,38 +127380,38 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   __pyx_v_prefix = __pyx_t_2;
   __pyx_t_2 = 0;
 
-  /* "src/lxml/serializer.pxi":830
+  /* "src/lxml/serializer.pxi":850
  * 
  *         name, prefix = self._element_stack.pop()[1:3]
  *         tree.xmlOutputBufferWrite(self._c_out, 2, '</')             # <<<<<<<<<<<<<<
  *         self._write_qname(name, prefix)
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
  */
-  xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__71);
+  xmlOutputBufferWrite(__pyx_v_self->_c_out, 2, __pyx_k__72);
 
-  /* "src/lxml/serializer.pxi":831
+  /* "src/lxml/serializer.pxi":851
  *         name, prefix = self._element_stack.pop()[1:3]
  *         tree.xmlOutputBufferWrite(self._c_out, 2, '</')
  *         self._write_qname(name, prefix)             # <<<<<<<<<<<<<<
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
  * 
  */
-  if (!(likely(PyBytes_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_name)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  if (!(likely(PyBytes_CheckExact(__pyx_v_prefix))||((__pyx_v_prefix) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_prefix)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_t_6 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(__pyx_v_self, ((PyObject*)__pyx_v_name), ((PyObject*)__pyx_v_prefix)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 831; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyBytes_CheckExact(__pyx_v_name))||((__pyx_v_name) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_name)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (!(likely(PyBytes_CheckExact(__pyx_v_prefix))||((__pyx_v_prefix) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_v_prefix)->tp_name), 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_6 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname(__pyx_v_self, ((PyObject*)__pyx_v_name), ((PyObject*)__pyx_v_prefix)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_6);
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
-  /* "src/lxml/serializer.pxi":832
+  /* "src/lxml/serializer.pxi":852
  *         tree.xmlOutputBufferWrite(self._c_out, 2, '</')
  *         self._write_qname(name, prefix)
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')             # <<<<<<<<<<<<<<
  * 
  *         if not self._element_stack:
  */
-  xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__64);
+  xmlOutputBufferWrite(__pyx_v_self->_c_out, 1, __pyx_k__65);
 
-  /* "src/lxml/serializer.pxi":834
+  /* "src/lxml/serializer.pxi":854
  *         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
  * 
  *         if not self._element_stack:             # <<<<<<<<<<<<<<
@@ -127732,7 +127422,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   __pyx_t_5 = ((!__pyx_t_1) != 0);
   if (__pyx_t_5) {
 
-    /* "src/lxml/serializer.pxi":835
+    /* "src/lxml/serializer.pxi":855
  * 
  *         if not self._element_stack:
  *             self._status = WRITER_FINISHED             # <<<<<<<<<<<<<<
@@ -127744,7 +127434,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   }
   __pyx_L9:;
 
-  /* "src/lxml/serializer.pxi":836
+  /* "src/lxml/serializer.pxi":856
  *         if not self._element_stack:
  *             self._status = WRITER_FINISHED
  *         if not self._buffered:             # <<<<<<<<<<<<<<
@@ -127754,7 +127444,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   __pyx_t_5 = ((!(__pyx_v_self->_buffered != 0)) != 0);
   if (__pyx_t_5) {
 
-    /* "src/lxml/serializer.pxi":837
+    /* "src/lxml/serializer.pxi":857
  *             self._status = WRITER_FINISHED
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)             # <<<<<<<<<<<<<<
@@ -127766,18 +127456,18 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   }
   __pyx_L10:;
 
-  /* "src/lxml/serializer.pxi":838
+  /* "src/lxml/serializer.pxi":858
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)
  *         self._handle_error(self._c_out.error)             # <<<<<<<<<<<<<<
  * 
  *     cdef _find_prefix(self, bytes href, dict flat_namespaces_map, list new_namespaces):
  */
-  __pyx_t_6 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 838; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_6 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_6);
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
-  /* "src/lxml/serializer.pxi":823
+  /* "src/lxml/serializer.pxi":843
  *             tree.xmlOutputBufferWrite(self._c_out, 1, '"')
  * 
  *     cdef _write_end_element(self, element_config):             # <<<<<<<<<<<<<<
@@ -127803,7 +127493,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_elemen
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":840
+/* "src/lxml/serializer.pxi":860
  *         self._handle_error(self._c_out.error)
  * 
  *     cdef _find_prefix(self, bytes href, dict flat_namespaces_map, list new_namespaces):             # <<<<<<<<<<<<<<
@@ -127827,7 +127517,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_find_prefix", 0);
 
-  /* "src/lxml/serializer.pxi":841
+  /* "src/lxml/serializer.pxi":861
  * 
  *     cdef _find_prefix(self, bytes href, dict flat_namespaces_map, list new_namespaces):
  *         if href is None:             # <<<<<<<<<<<<<<
@@ -127838,7 +127528,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
   __pyx_t_2 = (__pyx_t_1 != 0);
   if (__pyx_t_2) {
 
-    /* "src/lxml/serializer.pxi":842
+    /* "src/lxml/serializer.pxi":862
  *     cdef _find_prefix(self, bytes href, dict flat_namespaces_map, list new_namespaces):
  *         if href is None:
  *             return None             # <<<<<<<<<<<<<<
@@ -127851,7 +127541,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
     goto __pyx_L0;
   }
 
-  /* "src/lxml/serializer.pxi":843
+  /* "src/lxml/serializer.pxi":863
  *         if href is None:
  *             return None
  *         if href in flat_namespaces_map:             # <<<<<<<<<<<<<<
@@ -127860,13 +127550,13 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
  */
   if (unlikely(__pyx_v_flat_namespaces_map == Py_None)) {
     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_2 = (__Pyx_PyDict_Contains(__pyx_v_href, __pyx_v_flat_namespaces_map, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 843; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = (__Pyx_PyDict_Contains(__pyx_v_href, __pyx_v_flat_namespaces_map, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 863; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_1 = (__pyx_t_2 != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":844
+    /* "src/lxml/serializer.pxi":864
  *             return None
  *         if href in flat_namespaces_map:
  *             return flat_namespaces_map[href]             # <<<<<<<<<<<<<<
@@ -127876,16 +127566,16 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
     __Pyx_XDECREF(__pyx_r);
     if (unlikely(__pyx_v_flat_namespaces_map == Py_None)) {
       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
-    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_flat_namespaces_map, __pyx_v_href); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+    __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_flat_namespaces_map, __pyx_v_href); if (unlikely(__pyx_t_3 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
     __Pyx_GOTREF(__pyx_t_3);
     __pyx_r = __pyx_t_3;
     __pyx_t_3 = 0;
     goto __pyx_L0;
   }
 
-  /* "src/lxml/serializer.pxi":846
+  /* "src/lxml/serializer.pxi":866
  *             return flat_namespaces_map[href]
  *         # need to create a new prefix
  *         prefixes = flat_namespaces_map.values()             # <<<<<<<<<<<<<<
@@ -127894,14 +127584,14 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
  */
   if (unlikely(__pyx_v_flat_namespaces_map == Py_None)) {
     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "values");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_3 = __Pyx_PyDict_Values(__pyx_v_flat_namespaces_map); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyDict_Values(__pyx_v_flat_namespaces_map); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 866; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_3);
   __pyx_v_prefixes = __pyx_t_3;
   __pyx_t_3 = 0;
 
-  /* "src/lxml/serializer.pxi":847
+  /* "src/lxml/serializer.pxi":867
  *         # need to create a new prefix
  *         prefixes = flat_namespaces_map.values()
  *         i = 0             # <<<<<<<<<<<<<<
@@ -127911,7 +127601,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
   __Pyx_INCREF(__pyx_int_0);
   __pyx_v_i = __pyx_int_0;
 
-  /* "src/lxml/serializer.pxi":848
+  /* "src/lxml/serializer.pxi":868
  *         prefixes = flat_namespaces_map.values()
  *         i = 0
  *         while True:             # <<<<<<<<<<<<<<
@@ -127920,33 +127610,33 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
  */
   while (1) {
 
-    /* "src/lxml/serializer.pxi":849
+    /* "src/lxml/serializer.pxi":869
  *         i = 0
  *         while True:
  *             prefix = _utf8('ns%d' % i)             # <<<<<<<<<<<<<<
  *             if prefix not in prefixes:
  *                 new_namespaces.append((b'xmlns', prefix, href))
  */
-    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_ns_d, __pyx_v_i); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_ns_d, __pyx_v_i); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
-    __pyx_t_4 = __pyx_f_4lxml_5etree__utf8(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __pyx_f_4lxml_5etree__utf8(__pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 869; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
     __Pyx_XDECREF_SET(__pyx_v_prefix, ((PyObject*)__pyx_t_4));
     __pyx_t_4 = 0;
 
-    /* "src/lxml/serializer.pxi":850
+    /* "src/lxml/serializer.pxi":870
  *         while True:
  *             prefix = _utf8('ns%d' % i)
  *             if prefix not in prefixes:             # <<<<<<<<<<<<<<
  *                 new_namespaces.append((b'xmlns', prefix, href))
  *                 flat_namespaces_map[href] = prefix
  */
-    __pyx_t_1 = (__Pyx_PySequence_Contains(__pyx_v_prefix, __pyx_v_prefixes, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 850; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_1 = (__Pyx_PySequence_Contains(__pyx_v_prefix, __pyx_v_prefixes, Py_NE)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_2 = (__pyx_t_1 != 0);
     if (__pyx_t_2) {
 
-      /* "src/lxml/serializer.pxi":851
+      /* "src/lxml/serializer.pxi":871
  *             prefix = _utf8('ns%d' % i)
  *             if prefix not in prefixes:
  *                 new_namespaces.append((b'xmlns', prefix, href))             # <<<<<<<<<<<<<<
@@ -127955,9 +127645,9 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
  */
       if (unlikely(__pyx_v_new_namespaces == Py_None)) {
         PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "append");
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
-      __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_4 = PyTuple_New(3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_4);
       __Pyx_INCREF(__pyx_n_b_xmlns);
       PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_n_b_xmlns);
@@ -127968,10 +127658,10 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
       __Pyx_INCREF(__pyx_v_href);
       PyTuple_SET_ITEM(__pyx_t_4, 2, __pyx_v_href);
       __Pyx_GIVEREF(__pyx_v_href);
-      __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_new_namespaces, __pyx_t_4); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 851; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = __Pyx_PyList_Append(__pyx_v_new_namespaces, __pyx_t_4); if (unlikely(__pyx_t_5 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
 
-      /* "src/lxml/serializer.pxi":852
+      /* "src/lxml/serializer.pxi":872
  *             if prefix not in prefixes:
  *                 new_namespaces.append((b'xmlns', prefix, href))
  *                 flat_namespaces_map[href] = prefix             # <<<<<<<<<<<<<<
@@ -127980,11 +127670,11 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
  */
       if (unlikely(__pyx_v_flat_namespaces_map == Py_None)) {
         PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
-      if (unlikely(PyDict_SetItem(__pyx_v_flat_namespaces_map, __pyx_v_href, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 852; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (unlikely(PyDict_SetItem(__pyx_v_flat_namespaces_map, __pyx_v_href, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 872; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-      /* "src/lxml/serializer.pxi":853
+      /* "src/lxml/serializer.pxi":873
  *                 new_namespaces.append((b'xmlns', prefix, href))
  *                 flat_namespaces_map[href] = prefix
  *                 return prefix             # <<<<<<<<<<<<<<
@@ -127997,20 +127687,20 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
       goto __pyx_L0;
     }
 
-    /* "src/lxml/serializer.pxi":854
+    /* "src/lxml/serializer.pxi":874
  *                 flat_namespaces_map[href] = prefix
  *                 return prefix
  *             i += 1             # <<<<<<<<<<<<<<
  * 
  *     cdef _collect_namespaces(self, dict nsmap):
  */
-    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_i, __pyx_int_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 854; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = PyNumber_InPlaceAdd(__pyx_v_i, __pyx_int_1); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 874; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     __Pyx_DECREF_SET(__pyx_v_i, __pyx_t_4);
     __pyx_t_4 = 0;
   }
 
-  /* "src/lxml/serializer.pxi":840
+  /* "src/lxml/serializer.pxi":860
  *         self._handle_error(self._c_out.error)
  * 
  *     cdef _find_prefix(self, bytes href, dict flat_namespaces_map, list new_namespaces):             # <<<<<<<<<<<<<<
@@ -128035,7 +127725,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__find_prefix(CYTH
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":856
+/* "src/lxml/serializer.pxi":876
  *             i += 1
  * 
  *     cdef _collect_namespaces(self, dict nsmap):             # <<<<<<<<<<<<<<
@@ -128065,31 +127755,31 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_collect_namespaces", 0);
 
-  /* "src/lxml/serializer.pxi":857
+  /* "src/lxml/serializer.pxi":877
  * 
  *     cdef _collect_namespaces(self, dict nsmap):
  *         new_namespaces = []             # <<<<<<<<<<<<<<
  *         flat_namespaces_map = {}
  *         for ns, prefix in nsmap.iteritems():
  */
-  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 857; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 877; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_new_namespaces = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":858
+  /* "src/lxml/serializer.pxi":878
  *     cdef _collect_namespaces(self, dict nsmap):
  *         new_namespaces = []
  *         flat_namespaces_map = {}             # <<<<<<<<<<<<<<
  *         for ns, prefix in nsmap.iteritems():
  *             flat_namespaces_map[ns] = prefix
  */
-  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 858; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_v_flat_namespaces_map = ((PyObject*)__pyx_t_1);
   __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":859
+  /* "src/lxml/serializer.pxi":879
  *         new_namespaces = []
  *         flat_namespaces_map = {}
  *         for ns, prefix in nsmap.iteritems():             # <<<<<<<<<<<<<<
@@ -128099,9 +127789,9 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   __pyx_t_2 = 0;
   if (unlikely(__pyx_v_nsmap == Py_None)) {
     PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iteritems");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_nsmap, 1, __pyx_n_s_iteritems, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_nsmap, 1, __pyx_n_s_iteritems, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_5);
   __Pyx_XDECREF(__pyx_t_1);
   __pyx_t_1 = __pyx_t_5;
@@ -128109,7 +127799,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   while (1) {
     __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4);
     if (unlikely(__pyx_t_7 == 0)) break;
-    if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 859; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_5);
     __Pyx_GOTREF(__pyx_t_6);
     __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_5);
@@ -128117,16 +127807,16 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
     __Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_6);
     __pyx_t_6 = 0;
 
-    /* "src/lxml/serializer.pxi":860
+    /* "src/lxml/serializer.pxi":880
  *         flat_namespaces_map = {}
  *         for ns, prefix in nsmap.iteritems():
  *             flat_namespaces_map[ns] = prefix             # <<<<<<<<<<<<<<
  *             if prefix is None:
  *                 new_namespaces.append((None, b'xmlns', ns))
  */
-    if (unlikely(PyDict_SetItem(__pyx_v_flat_namespaces_map, __pyx_v_ns, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 860; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    if (unlikely(PyDict_SetItem(__pyx_v_flat_namespaces_map, __pyx_v_ns, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 880; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-    /* "src/lxml/serializer.pxi":861
+    /* "src/lxml/serializer.pxi":881
  *         for ns, prefix in nsmap.iteritems():
  *             flat_namespaces_map[ns] = prefix
  *             if prefix is None:             # <<<<<<<<<<<<<<
@@ -128137,14 +127827,14 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
     __pyx_t_9 = (__pyx_t_8 != 0);
     if (__pyx_t_9) {
 
-      /* "src/lxml/serializer.pxi":862
+      /* "src/lxml/serializer.pxi":882
  *             flat_namespaces_map[ns] = prefix
  *             if prefix is None:
  *                 new_namespaces.append((None, b'xmlns', ns))             # <<<<<<<<<<<<<<
  *             else:
  *                 new_namespaces.append((b'xmlns', prefix, ns))
  */
-      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_INCREF(Py_None);
       PyTuple_SET_ITEM(__pyx_t_6, 0, Py_None);
@@ -128155,20 +127845,20 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
       __Pyx_INCREF(__pyx_v_ns);
       PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_ns);
       __Pyx_GIVEREF(__pyx_v_ns);
-      __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_new_namespaces, __pyx_t_6); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 862; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_new_namespaces, __pyx_t_6); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
       goto __pyx_L5;
     }
     /*else*/ {
 
-      /* "src/lxml/serializer.pxi":864
+      /* "src/lxml/serializer.pxi":884
  *                 new_namespaces.append((None, b'xmlns', ns))
  *             else:
  *                 new_namespaces.append((b'xmlns', prefix, ns))             # <<<<<<<<<<<<<<
  *         # merge in flat namespace map of parent
  *         if self._element_stack:
  */
-      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_INCREF(__pyx_n_b_xmlns);
       PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_n_b_xmlns);
@@ -128179,14 +127869,14 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
       __Pyx_INCREF(__pyx_v_ns);
       PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_ns);
       __Pyx_GIVEREF(__pyx_v_ns);
-      __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_new_namespaces, __pyx_t_6); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_10 = __Pyx_PyList_Append(__pyx_v_new_namespaces, __pyx_t_6); if (unlikely(__pyx_t_10 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
     }
     __pyx_L5:;
   }
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":866
+  /* "src/lxml/serializer.pxi":886
  *                 new_namespaces.append((b'xmlns', prefix, ns))
  *         # merge in flat namespace map of parent
  *         if self._element_stack:             # <<<<<<<<<<<<<<
@@ -128196,7 +127886,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   __pyx_t_9 = (__pyx_v_self->_element_stack != Py_None) && (PyList_GET_SIZE(__pyx_v_self->_element_stack) != 0);
   if (__pyx_t_9) {
 
-    /* "src/lxml/serializer.pxi":867
+    /* "src/lxml/serializer.pxi":887
  *         # merge in flat namespace map of parent
  *         if self._element_stack:
  *             for ns, prefix in (<dict>self._element_stack[-1][-1]).iteritems():             # <<<<<<<<<<<<<<
@@ -128206,18 +127896,18 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
     __pyx_t_3 = 0;
     if (unlikely(__pyx_v_self->_element_stack == Py_None)) {
       PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
-    __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_self->_element_stack, -1, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+    __pyx_t_6 = __Pyx_GetItemInt_List(__pyx_v_self->_element_stack, -1, long, 1, __Pyx_PyInt_From_long, 1, 1, 1); if (unlikely(__pyx_t_6 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
     __Pyx_GOTREF(__pyx_t_6);
-    __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_6, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
+    __pyx_t_5 = __Pyx_GetItemInt(__pyx_t_6, -1, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
     __Pyx_GOTREF(__pyx_t_5);
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
     if (unlikely(__pyx_t_5 == Py_None)) {
       PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%s'", "iteritems");
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
-    __pyx_t_6 = __Pyx_dict_iterator(((PyObject*)__pyx_t_5), 1, __pyx_n_s_iteritems, (&__pyx_t_2), (&__pyx_t_4)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = __Pyx_dict_iterator(((PyObject*)__pyx_t_5), 1, __pyx_n_s_iteritems, (&__pyx_t_2), (&__pyx_t_4)); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_6);
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     __Pyx_XDECREF(__pyx_t_1);
@@ -128226,7 +127916,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
     while (1) {
       __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_2, &__pyx_t_3, &__pyx_t_6, &__pyx_t_5, NULL, __pyx_t_4);
       if (unlikely(__pyx_t_7 == 0)) break;
-      if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 867; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      if (unlikely(__pyx_t_7 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 887; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_GOTREF(__pyx_t_5);
       __Pyx_XDECREF_SET(__pyx_v_ns, __pyx_t_6);
@@ -128234,28 +127924,28 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
       __Pyx_XDECREF_SET(__pyx_v_prefix, __pyx_t_5);
       __pyx_t_5 = 0;
 
-      /* "src/lxml/serializer.pxi":868
+      /* "src/lxml/serializer.pxi":888
  *         if self._element_stack:
  *             for ns, prefix in (<dict>self._element_stack[-1][-1]).iteritems():
  *                 if flat_namespaces_map.get(ns) is None:             # <<<<<<<<<<<<<<
  *                     # unknown or empty prefix => prefer a 'real' prefix
  *                     flat_namespaces_map[ns] = prefix
  */
-      __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_flat_namespaces_map, __pyx_v_ns, Py_None); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 868; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_5 = __Pyx_PyDict_GetItemDefault(__pyx_v_flat_namespaces_map, __pyx_v_ns, Py_None); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __pyx_t_9 = (__pyx_t_5 == Py_None);
       __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
       __pyx_t_8 = (__pyx_t_9 != 0);
       if (__pyx_t_8) {
 
-        /* "src/lxml/serializer.pxi":870
+        /* "src/lxml/serializer.pxi":890
  *                 if flat_namespaces_map.get(ns) is None:
  *                     # unknown or empty prefix => prefer a 'real' prefix
  *                     flat_namespaces_map[ns] = prefix             # <<<<<<<<<<<<<<
  *         return flat_namespaces_map, new_namespaces
  * 
  */
-        if (unlikely(PyDict_SetItem(__pyx_v_flat_namespaces_map, __pyx_v_ns, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 870; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        if (unlikely(PyDict_SetItem(__pyx_v_flat_namespaces_map, __pyx_v_ns, __pyx_v_prefix) < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 890; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         goto __pyx_L9;
       }
       __pyx_L9:;
@@ -128265,7 +127955,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   }
   __pyx_L6:;
 
-  /* "src/lxml/serializer.pxi":871
+  /* "src/lxml/serializer.pxi":891
  *                     # unknown or empty prefix => prefer a 'real' prefix
  *                     flat_namespaces_map[ns] = prefix
  *         return flat_namespaces_map, new_namespaces             # <<<<<<<<<<<<<<
@@ -128273,7 +127963,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
  *     def write(self, *args, bint with_tail=True, bint pretty_print=False):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 871; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_INCREF(__pyx_v_flat_namespaces_map);
   PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_flat_namespaces_map);
@@ -128285,7 +127975,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   __pyx_t_1 = 0;
   goto __pyx_L0;
 
-  /* "src/lxml/serializer.pxi":856
+  /* "src/lxml/serializer.pxi":876
  *             i += 1
  * 
  *     cdef _collect_namespaces(self, dict nsmap):             # <<<<<<<<<<<<<<
@@ -128310,7 +128000,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespac
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":873
+/* "src/lxml/serializer.pxi":893
  *         return flat_namespaces_map, new_namespaces
  * 
  *     def write(self, *args, bint with_tail=True, bint pretty_print=False):             # <<<<<<<<<<<<<<
@@ -128360,26 +128050,26 @@ static PyObject *__pyx_pw_4lxml_5etree_22_IncrementalFileWriter_11write(PyObject
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "write") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, 0, "write") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) < 0) {
       goto __pyx_L5_argtuple_error;
     } else {
     }
     if (values[0]) {
-      __pyx_v_with_tail = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_with_tail == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+      __pyx_v_with_tail = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_with_tail == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
     } else {
       __pyx_v_with_tail = ((int)1);
     }
     if (values[1]) {
-      __pyx_v_pretty_print = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_pretty_print == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+      __pyx_v_pretty_print = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_pretty_print == (int)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
     } else {
       __pyx_v_pretty_print = ((int)0);
     }
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("write", 0, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("write", 0, 0, 0, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 893; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
   __Pyx_AddTraceback("lxml.etree._IncrementalFileWriter.write", __pyx_clineno, __pyx_lineno, __pyx_filename);
@@ -128411,7 +128101,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("write", 0);
 
-  /* "src/lxml/serializer.pxi":878
+  /* "src/lxml/serializer.pxi":898
  *         Write subtrees or strings into the file.
  *         """
  *         assert self._c_out is not NULL             # <<<<<<<<<<<<<<
@@ -128422,12 +128112,12 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   if (unlikely(!Py_OptimizeFlag)) {
     if (unlikely(!((__pyx_v_self->_c_out != NULL) != 0))) {
       PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 878; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 898; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
   }
   #endif
 
-  /* "src/lxml/serializer.pxi":879
+  /* "src/lxml/serializer.pxi":899
  *         """
  *         assert self._c_out is not NULL
  *         for content in args:             # <<<<<<<<<<<<<<
@@ -128438,14 +128128,14 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   for (;;) {
     if (__pyx_t_2 >= PyTuple_GET_SIZE(__pyx_t_1)) break;
     #if CYTHON_COMPILING_IN_CPYTHON
-    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 879; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 899; __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[7]; __pyx_lineno = 879; __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[7]; __pyx_lineno = 899; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     #endif
     __Pyx_XDECREF_SET(__pyx_v_content, __pyx_t_3);
     __pyx_t_3 = 0;
 
-    /* "src/lxml/serializer.pxi":880
+    /* "src/lxml/serializer.pxi":900
  *         assert self._c_out is not NULL
  *         for content in args:
  *             if _isString(content):             # <<<<<<<<<<<<<<
@@ -128455,7 +128145,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
     __pyx_t_4 = (_isString(__pyx_v_content) != 0);
     if (__pyx_t_4) {
 
-      /* "src/lxml/serializer.pxi":881
+      /* "src/lxml/serializer.pxi":901
  *         for content in args:
  *             if _isString(content):
  *                 if self._status != WRITER_IN_ELEMENT:             # <<<<<<<<<<<<<<
@@ -128465,7 +128155,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
       __pyx_t_4 = ((__pyx_v_self->_status != __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT) != 0);
       if (__pyx_t_4) {
 
-        /* "src/lxml/serializer.pxi":882
+        /* "src/lxml/serializer.pxi":902
  *             if _isString(content):
  *                 if self._status != WRITER_IN_ELEMENT:
  *                     if self._status > WRITER_IN_ELEMENT or content.strip():             # <<<<<<<<<<<<<<
@@ -128474,13 +128164,11 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
  */
         __pyx_t_5 = ((__pyx_v_self->_status > __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT) != 0);
         if (!__pyx_t_5) {
-          goto __pyx_L9_next_or;
         } else {
           __pyx_t_4 = __pyx_t_5;
           goto __pyx_L8_bool_binop_done;
         }
-        __pyx_L9_next_or:;
-        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_content, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_content, __pyx_n_s_strip); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 902; __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))) {
@@ -128493,52 +128181,52 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
           }
         }
         if (__pyx_t_7) {
-          __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
         } else {
-          __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_3 = __Pyx_PyObject_CallNoArg(__pyx_t_6); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         __Pyx_GOTREF(__pyx_t_3);
         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-        __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 882; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 902; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
         __pyx_t_4 = __pyx_t_5;
         __pyx_L8_bool_binop_done:;
         if (__pyx_t_4) {
 
-          /* "src/lxml/serializer.pxi":883
+          /* "src/lxml/serializer.pxi":903
  *                 if self._status != WRITER_IN_ELEMENT:
  *                     if self._status > WRITER_IN_ELEMENT or content.strip():
  *                         raise LxmlSyntaxError("not in an element")             # <<<<<<<<<<<<<<
  *                 content = _utf8(content)
  *                 tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)
  */
-          __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           __Pyx_GOTREF(__pyx_t_3);
-          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__72, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 903; __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_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 883; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+          {__pyx_filename = __pyx_f[7]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         }
         goto __pyx_L6;
       }
       __pyx_L6:;
 
-      /* "src/lxml/serializer.pxi":884
+      /* "src/lxml/serializer.pxi":904
  *                     if self._status > WRITER_IN_ELEMENT or content.strip():
  *                         raise LxmlSyntaxError("not in an element")
  *                 content = _utf8(content)             # <<<<<<<<<<<<<<
  *                 tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)
  *             elif iselement(content):
  */
-      __pyx_t_6 = __pyx_f_4lxml_5etree__utf8(__pyx_v_content); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __pyx_f_4lxml_5etree__utf8(__pyx_v_content); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_DECREF_SET(__pyx_v_content, __pyx_t_6);
       __pyx_t_6 = 0;
 
-      /* "src/lxml/serializer.pxi":885
+      /* "src/lxml/serializer.pxi":905
  *                         raise LxmlSyntaxError("not in an element")
  *                 content = _utf8(content)
  *                 tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)             # <<<<<<<<<<<<<<
@@ -128549,14 +128237,14 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
       goto __pyx_L5;
     }
 
-    /* "src/lxml/serializer.pxi":886
+    /* "src/lxml/serializer.pxi":906
  *                 content = _utf8(content)
  *                 tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)
  *             elif iselement(content):             # <<<<<<<<<<<<<<
  *                 if self._status > WRITER_IN_ELEMENT:
  *                     raise LxmlSyntaxError("cannot append trailing element to complete XML document")
  */
-    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_iselement); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_iselement); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __pyx_t_7 = NULL;
     if (CYTHON_COMPILING_IN_CPYTHON && unlikely(PyMethod_Check(__pyx_t_3))) {
@@ -128569,25 +128257,25 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
       }
     }
     if (!__pyx_t_7) {
-      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_content); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_content); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
     } else {
-      __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_8 = PyTuple_New(1+1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_8);
       PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_7); __pyx_t_7 = NULL;
       __Pyx_INCREF(__pyx_v_content);
       PyTuple_SET_ITEM(__pyx_t_8, 0+1, __pyx_v_content);
       __Pyx_GIVEREF(__pyx_v_content);
-      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
     }
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 886; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
     if (__pyx_t_4) {
 
-      /* "src/lxml/serializer.pxi":887
+      /* "src/lxml/serializer.pxi":907
  *                 tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)
  *             elif iselement(content):
  *                 if self._status > WRITER_IN_ELEMENT:             # <<<<<<<<<<<<<<
@@ -128597,34 +128285,34 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
       __pyx_t_4 = ((__pyx_v_self->_status > __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT) != 0);
       if (__pyx_t_4) {
 
-        /* "src/lxml/serializer.pxi":888
+        /* "src/lxml/serializer.pxi":908
  *             elif iselement(content):
  *                 if self._status > WRITER_IN_ELEMENT:
  *                     raise LxmlSyntaxError("cannot append trailing element to complete XML document")             # <<<<<<<<<<<<<<
  *                 _writeNodeToBuffer(self._c_out, (<_Element>content)._c_node,
- *                                    self._c_encoding, NULL, OUTPUT_METHOD_XML,
+ *                                    self._c_encoding, NULL, self._method,
  */
-        __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_6 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_6);
-        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__73, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__74, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 908; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 888; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        {__pyx_filename = __pyx_f[7]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       }
 
-      /* "src/lxml/serializer.pxi":889
+      /* "src/lxml/serializer.pxi":909
  *                 if self._status > WRITER_IN_ELEMENT:
  *                     raise LxmlSyntaxError("cannot append trailing element to complete XML document")
  *                 _writeNodeToBuffer(self._c_out, (<_Element>content)._c_node,             # <<<<<<<<<<<<<<
- *                                    self._c_encoding, NULL, OUTPUT_METHOD_XML,
+ *                                    self._c_encoding, NULL, self._method,
  *                                    False, False, pretty_print, with_tail, False)
  */
-      __pyx_f_4lxml_5etree__writeNodeToBuffer(__pyx_v_self->_c_out, ((struct LxmlElement *)__pyx_v_content)->_c_node, __pyx_v_self->_c_encoding, NULL, __pyx_e_4lxml_5etree_OUTPUT_METHOD_XML, 0, 0, __pyx_v_pretty_print, __pyx_v_with_tail, 0);
+      __pyx_f_4lxml_5etree__writeNodeToBuffer(__pyx_v_self->_c_out, ((struct LxmlElement *)__pyx_v_content)->_c_node, __pyx_v_self->_c_encoding, NULL, __pyx_v_self->_method, 0, 0, __pyx_v_pretty_print, __pyx_v_with_tail, 0);
 
-      /* "src/lxml/serializer.pxi":892
- *                                    self._c_encoding, NULL, OUTPUT_METHOD_XML,
+      /* "src/lxml/serializer.pxi":912
+ *                                    self._c_encoding, NULL, self._method,
  *                                    False, False, pretty_print, with_tail, False)
  *                 if (<_Element>content)._c_node.type == tree.XML_ELEMENT_NODE:             # <<<<<<<<<<<<<<
  *                     if not self._element_stack:
@@ -128633,7 +128321,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
       __pyx_t_4 = ((((struct LxmlElement *)__pyx_v_content)->_c_node->type == XML_ELEMENT_NODE) != 0);
       if (__pyx_t_4) {
 
-        /* "src/lxml/serializer.pxi":893
+        /* "src/lxml/serializer.pxi":913
  *                                    False, False, pretty_print, with_tail, False)
  *                 if (<_Element>content)._c_node.type == tree.XML_ELEMENT_NODE:
  *                     if not self._element_stack:             # <<<<<<<<<<<<<<
@@ -128644,7 +128332,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
         __pyx_t_5 = ((!__pyx_t_4) != 0);
         if (__pyx_t_5) {
 
-          /* "src/lxml/serializer.pxi":894
+          /* "src/lxml/serializer.pxi":914
  *                 if (<_Element>content)._c_node.type == tree.XML_ELEMENT_NODE:
  *                     if not self._element_stack:
  *                         self._status = WRITER_FINISHED             # <<<<<<<<<<<<<<
@@ -128662,41 +128350,41 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
     }
     /*else*/ {
 
-      /* "src/lxml/serializer.pxi":896
+      /* "src/lxml/serializer.pxi":916
  *                         self._status = WRITER_FINISHED
  *             else:
  *                 raise TypeError("got invalid input value of type %s, expected string or Element" % type(content))             # <<<<<<<<<<<<<<
  *             self._handle_error(self._c_out.error)
  *         if not self._buffered:
  */
-      __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_got_invalid_input_value_of_type, ((PyObject *)Py_TYPE(__pyx_v_content))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = __Pyx_PyString_Format(__pyx_kp_s_got_invalid_input_value_of_type, ((PyObject *)Py_TYPE(__pyx_v_content))); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_6);
       PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3);
       __Pyx_GIVEREF(__pyx_t_3);
       __pyx_t_3 = 0;
-      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 916; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 896; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 916; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     __pyx_L5:;
 
-    /* "src/lxml/serializer.pxi":897
+    /* "src/lxml/serializer.pxi":917
  *             else:
  *                 raise TypeError("got invalid input value of type %s, expected string or Element" % type(content))
  *             self._handle_error(self._c_out.error)             # <<<<<<<<<<<<<<
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)
  */
-    __pyx_t_3 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_3 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_self->_c_out->error); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_3);
     __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
 
-    /* "src/lxml/serializer.pxi":879
+    /* "src/lxml/serializer.pxi":899
  *         """
  *         assert self._c_out is not NULL
  *         for content in args:             # <<<<<<<<<<<<<<
@@ -128706,7 +128394,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   }
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 
-  /* "src/lxml/serializer.pxi":898
+  /* "src/lxml/serializer.pxi":918
  *                 raise TypeError("got invalid input value of type %s, expected string or Element" % type(content))
  *             self._handle_error(self._c_out.error)
  *         if not self._buffered:             # <<<<<<<<<<<<<<
@@ -128716,7 +128404,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   __pyx_t_5 = ((!(__pyx_v_self->_buffered != 0)) != 0);
   if (__pyx_t_5) {
 
-    /* "src/lxml/serializer.pxi":899
+    /* "src/lxml/serializer.pxi":919
  *             self._handle_error(self._c_out.error)
  *         if not self._buffered:
  *             tree.xmlOutputBufferFlush(self._c_out)             # <<<<<<<<<<<<<<
@@ -128728,7 +128416,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   }
   __pyx_L13:;
 
-  /* "src/lxml/serializer.pxi":873
+  /* "src/lxml/serializer.pxi":893
  *         return flat_namespaces_map, new_namespaces
  * 
  *     def write(self, *args, bint with_tail=True, bint pretty_print=False):             # <<<<<<<<<<<<<<
@@ -128754,7 +128442,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_10write(struct _
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":901
+/* "src/lxml/serializer.pxi":921
  *             tree.xmlOutputBufferFlush(self._c_out)
  * 
  *     def flush(self):             # <<<<<<<<<<<<<<
@@ -128784,7 +128472,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_12flush(struct _
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("flush", 0);
 
-  /* "src/lxml/serializer.pxi":906
+  /* "src/lxml/serializer.pxi":926
  *         Write any pending content of the current output buffer to the stream.
  *         """
  *         assert self._c_out is not NULL             # <<<<<<<<<<<<<<
@@ -128795,12 +128483,12 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_12flush(struct _
   if (unlikely(!Py_OptimizeFlag)) {
     if (unlikely(!((__pyx_v_self->_c_out != NULL) != 0))) {
       PyErr_SetNone(PyExc_AssertionError);
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 906; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
   }
   #endif
 
-  /* "src/lxml/serializer.pxi":907
+  /* "src/lxml/serializer.pxi":927
  *         """
  *         assert self._c_out is not NULL
  *         tree.xmlOutputBufferFlush(self._c_out)             # <<<<<<<<<<<<<<
@@ -128809,7 +128497,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_12flush(struct _
  */
   xmlOutputBufferFlush(__pyx_v_self->_c_out);
 
-  /* "src/lxml/serializer.pxi":901
+  /* "src/lxml/serializer.pxi":921
  *             tree.xmlOutputBufferFlush(self._c_out)
  * 
  *     def flush(self):             # <<<<<<<<<<<<<<
@@ -128829,7 +128517,7 @@ static PyObject *__pyx_pf_4lxml_5etree_22_IncrementalFileWriter_12flush(struct _
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":909
+/* "src/lxml/serializer.pxi":929
  *         tree.xmlOutputBufferFlush(self._c_out)
  * 
  *     cdef _close(self, bint raise_on_error):             # <<<<<<<<<<<<<<
@@ -128850,7 +128538,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_close", 0);
 
-  /* "src/lxml/serializer.pxi":910
+  /* "src/lxml/serializer.pxi":930
  * 
  *     cdef _close(self, bint raise_on_error):
  *         if raise_on_error:             # <<<<<<<<<<<<<<
@@ -128860,7 +128548,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   __pyx_t_1 = (__pyx_v_raise_on_error != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":911
+    /* "src/lxml/serializer.pxi":931
  *     cdef _close(self, bint raise_on_error):
  *         if raise_on_error:
  *             if self._status < WRITER_IN_ELEMENT:             # <<<<<<<<<<<<<<
@@ -128870,24 +128558,24 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
     __pyx_t_1 = ((__pyx_v_self->_status < __pyx_e_4lxml_5etree_WRITER_IN_ELEMENT) != 0);
     if (__pyx_t_1) {
 
-      /* "src/lxml/serializer.pxi":912
+      /* "src/lxml/serializer.pxi":932
  *         if raise_on_error:
  *             if self._status < WRITER_IN_ELEMENT:
  *                 raise LxmlSyntaxError("no content written")             # <<<<<<<<<<<<<<
  *             if self._element_stack:
  *                 raise LxmlSyntaxError("pending open tags on close")
  */
-      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_2 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 932; __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 = 912; __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 = 932; __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_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 912; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
 
-    /* "src/lxml/serializer.pxi":913
+    /* "src/lxml/serializer.pxi":933
  *             if self._status < WRITER_IN_ELEMENT:
  *                 raise LxmlSyntaxError("no content written")
  *             if self._element_stack:             # <<<<<<<<<<<<<<
@@ -128897,27 +128585,27 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
     __pyx_t_1 = (__pyx_v_self->_element_stack != Py_None) && (PyList_GET_SIZE(__pyx_v_self->_element_stack) != 0);
     if (__pyx_t_1) {
 
-      /* "src/lxml/serializer.pxi":914
+      /* "src/lxml/serializer.pxi":934
  *                 raise LxmlSyntaxError("no content written")
  *             if self._element_stack:
  *                 raise LxmlSyntaxError("pending open tags on close")             # <<<<<<<<<<<<<<
  *         error_result = self._c_out.error
  *         if error_result == xmlerror.XML_ERR_OK:
  */
-      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = __Pyx_GetModuleGlobalName(__pyx_n_s_LxmlSyntaxError); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_3);
-      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__75, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__76, NULL); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 934; __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_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      {__pyx_filename = __pyx_f[7]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     }
     goto __pyx_L3;
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":915
+  /* "src/lxml/serializer.pxi":935
  *             if self._element_stack:
  *                 raise LxmlSyntaxError("pending open tags on close")
  *         error_result = self._c_out.error             # <<<<<<<<<<<<<<
@@ -128927,7 +128615,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   __pyx_t_4 = __pyx_v_self->_c_out->error;
   __pyx_v_error_result = __pyx_t_4;
 
-  /* "src/lxml/serializer.pxi":916
+  /* "src/lxml/serializer.pxi":936
  *                 raise LxmlSyntaxError("pending open tags on close")
  *         error_result = self._c_out.error
  *         if error_result == xmlerror.XML_ERR_OK:             # <<<<<<<<<<<<<<
@@ -128937,7 +128625,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   __pyx_t_1 = ((__pyx_v_error_result == XML_ERR_OK) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":917
+    /* "src/lxml/serializer.pxi":937
  *         error_result = self._c_out.error
  *         if error_result == xmlerror.XML_ERR_OK:
  *             error_result = tree.xmlOutputBufferClose(self._c_out)             # <<<<<<<<<<<<<<
@@ -128946,7 +128634,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
  */
     __pyx_v_error_result = xmlOutputBufferClose(__pyx_v_self->_c_out);
 
-    /* "src/lxml/serializer.pxi":918
+    /* "src/lxml/serializer.pxi":938
  *         if error_result == xmlerror.XML_ERR_OK:
  *             error_result = tree.xmlOutputBufferClose(self._c_out)
  *             if error_result > 0:             # <<<<<<<<<<<<<<
@@ -128956,7 +128644,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
     __pyx_t_1 = ((__pyx_v_error_result > 0) != 0);
     if (__pyx_t_1) {
 
-      /* "src/lxml/serializer.pxi":919
+      /* "src/lxml/serializer.pxi":939
  *             error_result = tree.xmlOutputBufferClose(self._c_out)
  *             if error_result > 0:
  *                 error_result = xmlerror.XML_ERR_OK             # <<<<<<<<<<<<<<
@@ -128971,7 +128659,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   }
   /*else*/ {
 
-    /* "src/lxml/serializer.pxi":921
+    /* "src/lxml/serializer.pxi":941
  *                 error_result = xmlerror.XML_ERR_OK
  *         else:
  *             tree.xmlOutputBufferClose(self._c_out)             # <<<<<<<<<<<<<<
@@ -128982,7 +128670,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   }
   __pyx_L6:;
 
-  /* "src/lxml/serializer.pxi":922
+  /* "src/lxml/serializer.pxi":942
  *         else:
  *             tree.xmlOutputBufferClose(self._c_out)
  *         self._status = WRITER_FINISHED             # <<<<<<<<<<<<<<
@@ -128991,7 +128679,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
  */
   __pyx_v_self->_status = __pyx_e_4lxml_5etree_WRITER_FINISHED;
 
-  /* "src/lxml/serializer.pxi":923
+  /* "src/lxml/serializer.pxi":943
  *             tree.xmlOutputBufferClose(self._c_out)
  *         self._status = WRITER_FINISHED
  *         self._c_out = NULL             # <<<<<<<<<<<<<<
@@ -129000,7 +128688,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
  */
   __pyx_v_self->_c_out = NULL;
 
-  /* "src/lxml/serializer.pxi":924
+  /* "src/lxml/serializer.pxi":944
  *         self._status = WRITER_FINISHED
  *         self._c_out = NULL
  *         del self._element_stack[:]             # <<<<<<<<<<<<<<
@@ -129009,11 +128697,11 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
  */
   if (unlikely(__pyx_v_self->_element_stack == Py_None)) {
     PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
-    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    {__pyx_filename = __pyx_f[7]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   }
-  if (__Pyx_PyObject_DelSlice(__pyx_v_self->_element_stack, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 924; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (__Pyx_PyObject_DelSlice(__pyx_v_self->_element_stack, 0, 0, NULL, NULL, NULL, 0, 0, 1) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 944; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
-  /* "src/lxml/serializer.pxi":925
+  /* "src/lxml/serializer.pxi":945
  *         self._c_out = NULL
  *         del self._element_stack[:]
  *         if raise_on_error:             # <<<<<<<<<<<<<<
@@ -129023,21 +128711,21 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   __pyx_t_1 = (__pyx_v_raise_on_error != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":926
+    /* "src/lxml/serializer.pxi":946
  *         del self._element_stack[:]
  *         if raise_on_error:
  *             self._handle_error(error_result)             # <<<<<<<<<<<<<<
  * 
  *     cdef _handle_error(self, int error_result):
  */
-    __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_error_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 926; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(__pyx_v_self, __pyx_v_error_result); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_2);
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L8;
   }
   __pyx_L8:;
 
-  /* "src/lxml/serializer.pxi":909
+  /* "src/lxml/serializer.pxi":929
  *         tree.xmlOutputBufferFlush(self._c_out)
  * 
  *     cdef _close(self, bint raise_on_error):             # <<<<<<<<<<<<<<
@@ -129059,7 +128747,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close(struct __p
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":928
+/* "src/lxml/serializer.pxi":948
  *             self._handle_error(error_result)
  * 
  *     cdef _handle_error(self, int error_result):             # <<<<<<<<<<<<<<
@@ -129079,7 +128767,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(str
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("_handle_error", 0);
 
-  /* "src/lxml/serializer.pxi":929
+  /* "src/lxml/serializer.pxi":949
  * 
  *     cdef _handle_error(self, int error_result):
  *         if error_result != xmlerror.XML_ERR_OK:             # <<<<<<<<<<<<<<
@@ -129089,7 +128777,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(str
   __pyx_t_1 = ((__pyx_v_error_result != XML_ERR_OK) != 0);
   if (__pyx_t_1) {
 
-    /* "src/lxml/serializer.pxi":930
+    /* "src/lxml/serializer.pxi":950
  *     cdef _handle_error(self, int error_result):
  *         if error_result != xmlerror.XML_ERR_OK:
  *             if self._target is not None:             # <<<<<<<<<<<<<<
@@ -129100,33 +128788,33 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(str
     __pyx_t_2 = (__pyx_t_1 != 0);
     if (__pyx_t_2) {
 
-      /* "src/lxml/serializer.pxi":931
+      /* "src/lxml/serializer.pxi":951
  *         if error_result != xmlerror.XML_ERR_OK:
  *             if self._target is not None:
  *                 self._target._exc_context._raise_if_stored()             # <<<<<<<<<<<<<<
  *             _raiseSerialisationError(error_result)
  * 
  */
-      __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree__ExceptionContext *)__pyx_v_self->_target->_exc_context->__pyx_vtab)->_raise_if_stored(__pyx_v_self->_target->_exc_context); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_3 = ((struct __pyx_vtabstruct_4lxml_5etree__ExceptionContext *)__pyx_v_self->_target->_exc_context->__pyx_vtab)->_raise_if_stored(__pyx_v_self->_target->_exc_context); if (unlikely(__pyx_t_3 == -1)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 951; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       goto __pyx_L4;
     }
     __pyx_L4:;
 
-    /* "src/lxml/serializer.pxi":932
+    /* "src/lxml/serializer.pxi":952
  *             if self._target is not None:
  *                 self._target._exc_context._raise_if_stored()
  *             _raiseSerialisationError(error_result)             # <<<<<<<<<<<<<<
  * 
  * @cython.final
  */
-    __pyx_t_4 = __pyx_f_4lxml_5etree__raiseSerialisationError(__pyx_v_error_result); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __pyx_f_4lxml_5etree__raiseSerialisationError(__pyx_v_error_result); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_4);
     __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
     goto __pyx_L3;
   }
   __pyx_L3:;
 
-  /* "src/lxml/serializer.pxi":928
+  /* "src/lxml/serializer.pxi":948
  *             self._handle_error(error_result)
  * 
  *     cdef _handle_error(self, int error_result):             # <<<<<<<<<<<<<<
@@ -129147,7 +128835,7 @@ static PyObject *__pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error(str
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":941
+/* "src/lxml/serializer.pxi":961
  *     cdef _IncrementalFileWriter _writer
  * 
  *     def __cinit__(self, _IncrementalFileWriter writer not None, element_config):             # <<<<<<<<<<<<<<
@@ -129186,11 +128874,11 @@ static int __pyx_pw_4lxml_5etree_18_FileWriterElement_1__cinit__(PyObject *__pyx
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_element_config)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__cinit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
       goto __pyx_L5_argtuple_error;
@@ -129203,13 +128891,13 @@ static int __pyx_pw_4lxml_5etree_18_FileWriterElement_1__cinit__(PyObject *__pyx
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__cinit__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("lxml.etree._FileWriterElement.__cinit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
   return -1;
   __pyx_L4_argument_unpacking_done:;
-  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_writer), __pyx_ptype_4lxml_5etree__IncrementalFileWriter, 0, "writer", 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 941; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_writer), __pyx_ptype_4lxml_5etree__IncrementalFileWriter, 0, "writer", 0))) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 961; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_r = __pyx_pf_4lxml_5etree_18_FileWriterElement___cinit__(((struct __pyx_obj_4lxml_5etree__FileWriterElement *)__pyx_v_self), __pyx_v_writer, __pyx_v_element_config);
 
   /* function exit code */
@@ -129226,7 +128914,7 @@ static int __pyx_pf_4lxml_5etree_18_FileWriterElement___cinit__(struct __pyx_obj
   __Pyx_RefNannyDeclarations
   __Pyx_RefNannySetupContext("__cinit__", 0);
 
-  /* "src/lxml/serializer.pxi":942
+  /* "src/lxml/serializer.pxi":962
  * 
  *     def __cinit__(self, _IncrementalFileWriter writer not None, element_config):
  *         self._writer = writer             # <<<<<<<<<<<<<<
@@ -129239,7 +128927,7 @@ static int __pyx_pf_4lxml_5etree_18_FileWriterElement___cinit__(struct __pyx_obj
   __Pyx_DECREF(((PyObject *)__pyx_v_self->_writer));
   __pyx_v_self->_writer = __pyx_v_writer;
 
-  /* "src/lxml/serializer.pxi":943
+  /* "src/lxml/serializer.pxi":963
  *     def __cinit__(self, _IncrementalFileWriter writer not None, element_config):
  *         self._writer = writer
  *         self._element = element_config             # <<<<<<<<<<<<<<
@@ -129252,7 +128940,7 @@ static int __pyx_pf_4lxml_5etree_18_FileWriterElement___cinit__(struct __pyx_obj
   __Pyx_DECREF(__pyx_v_self->_element);
   __pyx_v_self->_element = __pyx_v_element_config;
 
-  /* "src/lxml/serializer.pxi":941
+  /* "src/lxml/serializer.pxi":961
  *     cdef _IncrementalFileWriter _writer
  * 
  *     def __cinit__(self, _IncrementalFileWriter writer not None, element_config):             # <<<<<<<<<<<<<<
@@ -129266,7 +128954,7 @@ static int __pyx_pf_4lxml_5etree_18_FileWriterElement___cinit__(struct __pyx_obj
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":945
+/* "src/lxml/serializer.pxi":965
  *         self._element = element_config
  * 
  *     def __enter__(self):             # <<<<<<<<<<<<<<
@@ -129297,7 +128985,7 @@ static PyObject *__pyx_pf_4lxml_5etree_18_FileWriterElement_2__enter__(struct __
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__enter__", 0);
 
-  /* "src/lxml/serializer.pxi":946
+  /* "src/lxml/serializer.pxi":966
  * 
  *     def __enter__(self):
  *         self._writer._write_start_element(self._element)             # <<<<<<<<<<<<<<
@@ -129306,12 +128994,12 @@ static PyObject *__pyx_pf_4lxml_5etree_18_FileWriterElement_2__enter__(struct __
  */
   __pyx_t_1 = __pyx_v_self->_element;
   __Pyx_INCREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_element(__pyx_v_self->_writer, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 946; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_element(__pyx_v_self->_writer, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 966; __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/serializer.pxi":945
+  /* "src/lxml/serializer.pxi":965
  *         self._element = element_config
  * 
  *     def __enter__(self):             # <<<<<<<<<<<<<<
@@ -129333,7 +129021,7 @@ static PyObject *__pyx_pf_4lxml_5etree_18_FileWriterElement_2__enter__(struct __
   return __pyx_r;
 }
 
-/* "src/lxml/serializer.pxi":948
+/* "src/lxml/serializer.pxi":968
  *         self._writer._write_start_element(self._element)
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):             # <<<<<<<<<<<<<<
@@ -129373,16 +129061,16 @@ static PyObject *__pyx_pw_4lxml_5etree_18_FileWriterElement_5__exit__(PyObject *
         case  1:
         if (likely((values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_exc_val)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 1); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
         case  2:
         if (likely((values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s_exc_tb)) != 0)) kw_args--;
         else {
-          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+          __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, 2); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
         }
       }
       if (unlikely(kw_args > 0)) {
-        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__exit__") < 0)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
       }
     } else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
       goto __pyx_L5_argtuple_error;
@@ -129397,7 +129085,7 @@ static PyObject *__pyx_pw_4lxml_5etree_18_FileWriterElement_5__exit__(PyObject *
   }
   goto __pyx_L4_argument_unpacking_done;
   __pyx_L5_argtuple_error:;
-  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 948; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
+  __Pyx_RaiseArgtupleInvalid("__exit__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[7]; __pyx_lineno = 968; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
   __pyx_L3_error:;
   __Pyx_AddTraceback("lxml.etree._FileWriterElement.__exit__", __pyx_clineno, __pyx_lineno, __pyx_filename);
   __Pyx_RefNannyFinishContext();
@@ -129420,19 +129108,19 @@ static PyObject *__pyx_pf_4lxml_5etree_18_FileWriterElement_4__exit__(struct __p
   int __pyx_clineno = 0;
   __Pyx_RefNannySetupContext("__exit__", 0);
 
-  /* "src/lxml/serializer.pxi":949
+  /* "src/lxml/serializer.pxi":969
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):
  *         self._writer._write_end_element(self._element)             # <<<<<<<<<<<<<<
  */
   __pyx_t_1 = __pyx_v_self->_element;
   __Pyx_INCREF(__pyx_t_1);
-  __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_element(__pyx_v_self->_writer, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_2 = __pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_end_element(__pyx_v_self->_writer, __pyx_t_1); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 969; __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/serializer.pxi":948
+  /* "src/lxml/serializer.pxi":968
  *         self._writer._write_start_element(self._element)
  * 
  *     def __exit__(self, exc_type, exc_val, exc_tb):             # <<<<<<<<<<<<<<
@@ -129492,7 +129180,7 @@ static int __pyx_pw_4lxml_5etree_9iterparse_1__init__(PyObject *__pyx_v_self, Py
   {
     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__76);
+    values[1] = ((PyObject *)__pyx_tuple__77);
     values[2] = ((PyObject *)Py_None);
 
     /* "src/lxml/iterparse.pxi":67
@@ -129882,12 +129570,10 @@ static int __pyx_pf_4lxml_5etree_9iterparse___init__(struct __pyx_obj_4lxml_5etr
       __pyx_t_7 = __pyx_v_event;
       __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_kp_s_start_ns, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       if (__pyx_t_2) {
-        goto __pyx_L11_next_and;
       } else {
         __pyx_t_1 = __pyx_t_2;
         goto __pyx_L10_bool_binop_done;
       }
-      __pyx_L11_next_and:;
       __pyx_t_2 = (__Pyx_PyString_Equals(__pyx_t_7, __pyx_kp_s_end_ns, Py_NE)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 89; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_t_1 = __pyx_t_2;
       __pyx_L10_bool_binop_done:;
@@ -131639,12 +131325,10 @@ static PyObject *__pyx_pf_4lxml_5etree_9iterparse_8__next__(struct __pyx_obj_4lx
   __pyx_t_8 = (((PyObject *)__pyx_v_context->__pyx_base._validator) != Py_None);
   __pyx_t_16 = (__pyx_t_8 != 0);
   if (__pyx_t_16) {
-    goto __pyx_L37_next_and;
   } else {
     __pyx_t_7 = __pyx_t_16;
     goto __pyx_L36_bool_binop_done;
   }
-  __pyx_L37_next_and:;
 
   /* "src/lxml/iterparse.pxi":210
  *             raise error
@@ -131768,7 +131452,7 @@ static int __pyx_f_4lxml_5etree_9iterparse__read_more_events(struct __pyx_obj_4l
  */
   __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__77, 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__78, 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;
@@ -131803,7 +131487,7 @@ static int __pyx_f_4lxml_5etree_9iterparse__read_more_events(struct __pyx_obj_4l
  *         if not data:
  *             try:
  */
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_TypeError, __pyx_tuple__78, 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__79, 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;
@@ -132020,7 +131704,7 @@ static int __pyx_pw_4lxml_5etree_8iterwalk_1__init__(PyObject *__pyx_v_self, PyO
   {
     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__79);
+    values[1] = ((PyObject *)__pyx_tuple__80);
     values[2] = ((PyObject *)Py_None);
     if (unlikely(__pyx_kwds)) {
       Py_ssize_t kw_args;
@@ -132128,12 +131812,10 @@ static int __pyx_pf_4lxml_5etree_8iterwalk___init__(struct __pyx_obj_4lxml_5etre
   __pyx_t_4 = (__pyx_v_tag == Py_None);
   __pyx_t_5 = (__pyx_t_4 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_tag, __pyx_kp_s__35, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 250; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = __pyx_t_5;
   __pyx_L4_bool_binop_done:;
@@ -132433,7 +132115,7 @@ static PyObject *__pyx_pf_4lxml_5etree_8iterwalk_4__next__(struct __pyx_obj_4lxm
  *             node = self._node_stack[self._index][0]
  */
     __Pyx_XDECREF(__pyx_r);
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->_pop_event, __pyx_tuple__80, 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__81, 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;
@@ -132450,12 +132132,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8iterwalk_4__next__(struct __pyx_obj_4lxm
   __pyx_t_3 = (((PyObject *)__pyx_v_self->_matcher) != Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_1 = __pyx_t_4;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_4 = ((__pyx_v_self->_index >= 0) != 0);
   __pyx_t_1 = __pyx_t_4;
   __pyx_L5_bool_binop_done:;
@@ -132771,7 +132451,7 @@ static PyObject *__pyx_pf_4lxml_5etree_8iterwalk_4__next__(struct __pyx_obj_4lxm
  * 
  */
       __Pyx_XDECREF(__pyx_r);
-      __pyx_t_2 = __Pyx_PyObject_Call(__pyx_v_self->_pop_event, __pyx_tuple__81, 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__82, 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;
@@ -132913,12 +132593,10 @@ static int __pyx_f_4lxml_5etree_8iterwalk__start_node(struct __pyx_obj_4lxml_5et
     __pyx_t_4 = (((PyObject *)__pyx_v_self->_matcher) == Py_None);
     __pyx_t_5 = (__pyx_t_4 != 0);
     if (!__pyx_t_5) {
-      goto __pyx_L7_next_or;
     } else {
       __pyx_t_1 = __pyx_t_5;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_or:;
     __pyx_t_5 = (__pyx_f_4lxml_5etree_16_MultiTagMatcher_matches(__pyx_v_self->_matcher, __pyx_v_node->_c_node) != 0);
     __pyx_t_1 = __pyx_t_5;
     __pyx_L6_bool_binop_done:;
@@ -133100,12 +132778,10 @@ static struct LxmlElement *__pyx_f_4lxml_5etree_8iterwalk__end_node(struct __pyx
     __pyx_t_8 = (((PyObject *)__pyx_v_self->_matcher) == Py_None);
     __pyx_t_9 = (__pyx_t_8 != 0);
     if (!__pyx_t_9) {
-      goto __pyx_L8_next_or;
     } else {
       __pyx_t_7 = __pyx_t_9;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_or:;
     __pyx_t_9 = (__pyx_f_4lxml_5etree_16_MultiTagMatcher_matches(__pyx_v_self->_matcher, __pyx_v_node->_c_node) != 0);
     __pyx_t_7 = __pyx_t_9;
     __pyx_L7_bool_binop_done:;
@@ -133156,8 +132832,8 @@ static struct LxmlElement *__pyx_f_4lxml_5etree_8iterwalk__end_node(struct __pyx
  *             for i from 0 <= i < ns_count:
  *                 self._events.append(event)
  */
-    __Pyx_INCREF(__pyx_tuple__82);
-    __pyx_v_event = __pyx_tuple__82;
+    __Pyx_INCREF(__pyx_tuple__83);
+    __pyx_v_event = __pyx_tuple__83;
 
     /* "src/lxml/iterparse.pxi":331
  *         if self._event_filter & PARSE_EVENT_FILTER_END_NS:
@@ -133602,7 +133278,7 @@ static PyObject *__pyx_pf_4lxml_5etree_46XMLID(CYTHON_UNUSED PyObject *__pyx_sel
  * 
  *     # ElementTree compatible implementation: parse and look for 'id' attributes
  */
-    __pyx_t_3 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_XPath)), __pyx_tuple__83, 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 *)((PyObject*)__pyx_ptype_4lxml_5etree_XPath)), __pyx_tuple__84, 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);
@@ -133735,7 +133411,7 @@ static PyObject *__pyx_pf_4lxml_5etree_46XMLID(CYTHON_UNUSED PyObject *__pyx_sel
  */
     __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__84, 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__85, 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;}
@@ -134511,12 +134187,10 @@ static PyObject *__pyx_pf_4lxml_5etree_7_IDDict_4__getitem__(struct __pyx_obj_4l
  */
   __pyx_t_5 = ((__pyx_v_c_attr == NULL) != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_3 = __pyx_t_5;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_5 = ((__pyx_v_c_attr->parent == NULL) != 0);
   __pyx_t_3 = __pyx_t_5;
   __pyx_L5_bool_binop_done:;
@@ -134924,7 +134598,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7_IDDict_14keys(struct __pyx_obj_4lxml_5e
  *     def __iter__(self):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_self->_keys, 0, 0, NULL, NULL, &__pyx_slice__85, 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__86, 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;
@@ -135264,7 +134938,7 @@ static PyObject *__pyx_pf_4lxml_5etree_7_IDDict_22items(struct __pyx_obj_4lxml_5
  *     def iteritems(self):
  */
   __Pyx_XDECREF(__pyx_r);
-  __pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_self->_items, 0, 0, NULL, NULL, &__pyx_slice__86, 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__87, 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;
@@ -135883,20 +135557,16 @@ static void __pyx_f_4lxml_5etree__collectIdHashItemList(void *__pyx_v_payload, v
  */
   __pyx_t_2 = ((__pyx_v_c_id == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = ((__pyx_v_c_id->attr == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_2 = ((__pyx_v_c_id->attr->parent == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -136051,20 +135721,16 @@ static void __pyx_f_4lxml_5etree__collectIdHashKeys(void *__pyx_v_payload, void
  */
   __pyx_t_2 = ((__pyx_v_c_id == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = ((__pyx_v_c_id->attr == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_2 = ((__pyx_v_c_id->attr->parent == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -136468,12 +136134,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8XInclude_2__call__(struct __pyx_obj_4lxm
  */
   __pyx_t_2 = ((LIBXML_VERSION < 20704) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_3 = __pyx_t_2;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_2 = ((!(__pyx_v_c_context != 0)) != 0);
   __pyx_t_3 = __pyx_t_2;
   __pyx_L5_bool_binop_done:;
@@ -136567,12 +136231,10 @@ static PyObject *__pyx_pf_4lxml_5etree_8XInclude_2__call__(struct __pyx_obj_4lxm
  */
   __pyx_t_2 = ((LIBXML_VERSION < 20704) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L13_next_or;
   } else {
     __pyx_t_3 = __pyx_t_2;
     goto __pyx_L12_bool_binop_done;
   }
-  __pyx_L13_next_or:;
   __pyx_t_2 = ((!(__pyx_v_c_context != 0)) != 0);
   __pyx_t_3 = __pyx_t_2;
   __pyx_L12_bool_binop_done:;
@@ -138029,12 +137691,10 @@ static PyObject *__pyx_f_4lxml_5etree__strip_tags(struct LxmlDocument *__pyx_v_d
  */
         __pyx_t_3 = __pyx_f_4lxml_5etree__findChildForwards(__pyx_v_c_child, 0);
         if (!__pyx_t_3) {
-          goto __pyx_L9_next_or;
         } else {
           __pyx_t_2 = __pyx_t_3;
           goto __pyx_L8_bool_binop_done;
         }
-        __pyx_L9_next_or:;
         __pyx_t_3 = __pyx_f_4lxml_5etree__nextElement(__pyx_v_c_child);
         __pyx_t_2 = __pyx_t_3;
         __pyx_L8_bool_binop_done:;
@@ -138790,13 +138450,11 @@ static int __pyx_pf_4lxml_5etree_12_BaseContext_2__init__(struct __pyx_obj_4lxml
  */
     __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_new_extensions); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 75; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_3) {
-      goto __pyx_L15_next_or;
     } else {
       __Pyx_INCREF(__pyx_v_new_extensions);
       __pyx_t_1 = __pyx_v_new_extensions;
       goto __pyx_L14_bool_binop_done;
     }
-    __pyx_L15_next_or:;
     __Pyx_INCREF(Py_None);
     __pyx_t_1 = Py_None;
     __pyx_L14_bool_binop_done:;
@@ -138992,12 +138650,10 @@ static int __pyx_pf_4lxml_5etree_12_BaseContext_2__init__(struct __pyx_obj_4lxml
         __pyx_t_2 = (__pyx_v_prefix == Py_None);
         __pyx_t_16 = (__pyx_t_2 != 0);
         if (!__pyx_t_16) {
-          goto __pyx_L25_next_or;
         } else {
           __pyx_t_3 = __pyx_t_16;
           goto __pyx_L24_bool_binop_done;
         }
-        __pyx_L25_next_or:;
         __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_prefix); if (unlikely(__pyx_t_16 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 83; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_t_2 = ((!__pyx_t_16) != 0);
         __pyx_t_3 = __pyx_t_2;
@@ -139025,12 +138681,10 @@ static int __pyx_pf_4lxml_5etree_12_BaseContext_2__init__(struct __pyx_obj_4lxml
         __pyx_t_2 = (__pyx_v_ns_uri == Py_None);
         __pyx_t_16 = (__pyx_t_2 != 0);
         if (!__pyx_t_16) {
-          goto __pyx_L28_next_or;
         } else {
           __pyx_t_3 = __pyx_t_16;
           goto __pyx_L27_bool_binop_done;
         }
-        __pyx_L28_next_or:;
         __pyx_t_16 = __Pyx_PyObject_IsTrue(__pyx_v_ns_uri); if (unlikely(__pyx_t_16 < 0)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 86; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_t_2 = ((!__pyx_t_16) != 0);
         __pyx_t_3 = __pyx_t_2;
@@ -141366,12 +141020,10 @@ static PyObject *__pyx_f_4lxml_5etree_12_BaseContext_registerLocalFunctions(stru
     __pyx_t_1 = (__pyx_v_ns_utf != __pyx_v_last_ns);
     __pyx_t_14 = (__pyx_t_1 != 0);
     if (!__pyx_t_14) {
-      goto __pyx_L10_next_or;
     } else {
       __pyx_t_2 = __pyx_t_14;
       goto __pyx_L9_bool_binop_done;
     }
-    __pyx_L10_next_or:;
     __pyx_t_14 = (__pyx_v_d == ((PyObject*)Py_None));
     __pyx_t_1 = (__pyx_t_14 != 0);
     __pyx_t_2 = __pyx_t_1;
@@ -141863,12 +141515,10 @@ static PyObject *__pyx_f_4lxml_5etree_12_BaseContext_unregisterGlobalFunctions(s
       __pyx_t_12 = (__pyx_v_self->_extensions == ((PyObject*)Py_None));
       __pyx_t_13 = (__pyx_t_12 != 0);
       if (!__pyx_t_13) {
-        goto __pyx_L11_next_or;
       } else {
         __pyx_t_11 = __pyx_t_13;
         goto __pyx_L10_bool_binop_done;
       }
-      __pyx_L11_next_or:;
 
       /* "src/lxml/extensions.pxi":279
  *             for name_utf in functions:
@@ -142510,12 +142160,10 @@ static PyObject *__pyx_f_4lxml_5etree_12_BaseContext__hold(struct __pyx_obj_4lxm
  */
   __pyx_t_1 = (_isString(__pyx_v_obj) != 0);
   if (!__pyx_t_1) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_1;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_1 = ((!(PySequence_Check(__pyx_v_obj) != 0)) != 0);
   __pyx_t_2 = __pyx_t_1;
   __pyx_L4_bool_binop_done:;
@@ -142712,12 +142360,10 @@ static struct LxmlDocument *__pyx_f_4lxml_5etree_12_BaseContext__findDocumentFor
     __pyx_t_5 = (((PyObject *)__pyx_v_doc) != Py_None);
     __pyx_t_6 = (__pyx_t_5 != 0);
     if (__pyx_t_6) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_4 = __pyx_t_6;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_6 = ((__pyx_v_doc->_c_doc == __pyx_v_c_node->doc) != 0);
     __pyx_t_4 = __pyx_t_6;
     __pyx_L6_bool_binop_done:;
@@ -143391,7 +143037,7 @@ static PyObject *__pyx_pf_4lxml_5etree_60Extension(CYTHON_UNUSED PyObject *__pyx
  */
         __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 = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_1);
-        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__87, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+        __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 446; __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 = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -144709,7 +144355,7 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ExsltRegExp_4match(struct __pyx_obj_4l
     __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 = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __Pyx_GOTREF(__pyx_t_5);
-    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__88, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 521; __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;
@@ -144763,7 +144409,7 @@ static PyObject *__pyx_pf_4lxml_5etree_12_ExsltRegExp_4match(struct __pyx_obj_4l
  */
   __pyx_t_1 = __Pyx_GetModuleGlobalName(__pyx_n_s_Element); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
-  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__89, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__90, NULL); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __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;
@@ -145675,12 +145321,10 @@ static xmlXPathObject *__pyx_f_4lxml_5etree__wrapXPathObject(PyObject *__pyx_v_o
             __pyx_t_1 = (((PyObject *)__pyx_v_context) == Py_None);
             __pyx_t_12 = (__pyx_t_1 != 0);
             if (!__pyx_t_12) {
-              goto __pyx_L22_next_or;
             } else {
               __pyx_t_2 = __pyx_t_12;
               goto __pyx_L21_bool_binop_done;
             }
-            __pyx_L22_next_or:;
             __pyx_t_12 = (((PyObject *)__pyx_v_doc) == Py_None);
             __pyx_t_1 = (__pyx_t_12 != 0);
             __pyx_t_2 = __pyx_t_1;
@@ -146559,12 +146203,10 @@ static PyObject *__pyx_f_4lxml_5etree__unpackNodeSetEntry(PyObject *__pyx_v_resu
  */
     __pyx_t_2 = ((__pyx_v_c_node->doc != __pyx_v_doc->_c_doc) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L6_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_and:;
     __pyx_t_2 = ((__pyx_v_c_node->doc->_private == NULL) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L5_bool_binop_done:;
@@ -147012,12 +146654,10 @@ static struct LxmlElement *__pyx_f_4lxml_5etree__instantiateElementFromXPath(xml
  */
   __pyx_t_2 = ((__pyx_v_c_node->doc != __pyx_v_doc->_c_doc) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_c_node->doc->_private == NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -147471,12 +147111,10 @@ static PyObject *__pyx_f_4lxml_5etree__elementStringResultFactory(PyObject *__py
  */
     __pyx_t_1 = (__pyx_v_is_tail != 0);
     if (!__pyx_t_1) {
-      goto __pyx_L5_next_or;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L4_bool_binop_done;
     }
-    __pyx_L5_next_or:;
     __pyx_t_1 = (__pyx_v_is_attribute != 0);
     __pyx_t_2 = __pyx_t_1;
     __pyx_L4_bool_binop_done:;
@@ -147967,12 +147605,10 @@ static PyObject *__pyx_f_4lxml_5etree__buildElementStringResult(struct LxmlDocum
     while (1) {
       __pyx_t_13 = ((__pyx_v_c_element != NULL) != 0);
       if (__pyx_t_13) {
-        goto __pyx_L14_next_and;
       } else {
         __pyx_t_1 = __pyx_t_13;
         goto __pyx_L13_bool_binop_done;
       }
-      __pyx_L14_next_and:;
       __pyx_t_13 = ((!(_isElement(__pyx_v_c_element) != 0)) != 0);
       __pyx_t_1 = __pyx_t_13;
       __pyx_L13_bool_binop_done:;
@@ -150510,12 +150146,10 @@ static int __pyx_f_4lxml_5etree_19_XPathEvaluatorBase__lock(struct __pyx_obj_4lx
  */
   __pyx_t_2 = (ENABLE_THREADING != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_self->_eval_lock != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -150641,12 +150275,10 @@ static void __pyx_f_4lxml_5etree_19_XPathEvaluatorBase__unlock(struct __pyx_obj_
  */
   __pyx_t_2 = (ENABLE_THREADING != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((__pyx_v_self->_eval_lock != NULL) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -154748,7 +154380,7 @@ static PyObject *__pyx_f_4lxml_5etree_7ETXPath__nsextract_path(CYTHON_UNUSED str
  *                 namespace = (<bytes>namespace).decode('utf8')
  *                 namespaces[prefix.decode('utf8')] = namespace
  */
-      __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_namespace_def, 1, -1, NULL, NULL, &__pyx_slice__90, 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, -1, NULL, NULL, &__pyx_slice__91, 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;
@@ -154792,7 +154424,7 @@ static PyObject *__pyx_f_4lxml_5etree_7ETXPath__nsextract_path(CYTHON_UNUSED str
  *                 # FIXME: this also replaces {namespaces} within strings!
  *                 path_utf = path_utf.replace(namespace_def, prefix_str)
  */
-      __pyx_t_1 = PyNumber_Add(__pyx_v_prefix, __pyx_kp_b__61); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+      __pyx_t_1 = PyNumber_Add(__pyx_v_prefix, __pyx_kp_b__62); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 502; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __Pyx_GOTREF(__pyx_t_1);
       __Pyx_XDECREF_SET(__pyx_v_prefix_str, ((PyObject*)__pyx_t_1));
       __pyx_t_1 = 0;
@@ -154857,7 +154489,7 @@ static PyObject *__pyx_f_4lxml_5etree_7ETXPath__nsextract_path(CYTHON_UNUSED str
  */
   __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__91, 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__92, 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);
@@ -155182,12 +154814,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__xslt_resolve_from_python(const xmlChar *__p
  */
         __pyx_t_7 = ((__pyx_v_c_doc != NULL) != 0);
         if (__pyx_t_7) {
-          goto __pyx_L16_next_and;
         } else {
           __pyx_t_6 = __pyx_t_7;
           goto __pyx_L15_bool_binop_done;
         }
-        __pyx_L16_next_and:;
         __pyx_t_7 = ((__pyx_v_c_doc->URL != NULL) != 0);
         __pyx_t_6 = __pyx_t_7;
         __pyx_L15_bool_binop_done:;
@@ -155475,12 +155105,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__xslt_resolve_from_python(const xmlChar *__p
  */
           __pyx_t_6 = ((__pyx_v_c_return_doc != NULL) != 0);
           if (__pyx_t_6) {
-            goto __pyx_L22_next_and;
           } else {
             __pyx_t_7 = __pyx_t_6;
             goto __pyx_L21_bool_binop_done;
           }
-          __pyx_L22_next_and:;
           __pyx_t_6 = ((__pyx_v_c_return_doc->URL == NULL) != 0);
           __pyx_t_7 = __pyx_t_6;
           __pyx_L21_bool_binop_done:;
@@ -156003,12 +155631,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__xslt_doc_loader(const xmlChar *__pyx_v_c_ur
  */
   __pyx_t_3 = ((__pyx_v_c_doc == NULL) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_3 = ((!(__pyx_v_error != 0)) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L5_bool_binop_done:;
@@ -156057,12 +155683,10 @@ static xmlDoc *__pyx_f_4lxml_5etree__xslt_doc_loader(const xmlChar *__pyx_v_c_ur
  */
   __pyx_t_3 = ((__pyx_v_c_doc != NULL) != 0);
   if (__pyx_t_3) {
-    goto __pyx_L10_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L9_bool_binop_done;
   }
-  __pyx_L10_next_and:;
   __pyx_t_3 = ((__pyx_v_c_type == XSLT_LOAD_STYLESHEET) != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L9_bool_binop_done:;
@@ -156922,7 +156546,7 @@ static PyObject *__pyx_pf_4lxml_5etree_17XSLTAccessControl_6__repr__(struct __py
     __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
   }
   __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-  __pyx_t_2 = PyUnicode_Join(__pyx_kp_u__92, __pyx_t_3); 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__93, __pyx_t_3); 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_3); __pyx_t_3 = 0;
 
@@ -157236,12 +156860,10 @@ static int __pyx_pf_4lxml_5etree_12_XSLTContext_2__init__(struct __pyx_obj_4lxml
   __pyx_t_2 = (__pyx_v_extensions != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_extensions); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -158403,7 +158025,7 @@ static int __pyx_pf_4lxml_5etree_4XSLT_2__init__(struct __pyx_obj_4lxml_5etree_X
     /*finally:*/ {
       /*normal exit:*/{
         if (__pyx_t_6) {
-          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__93, NULL);
+          __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__94, 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);
@@ -158429,12 +158051,10 @@ static int __pyx_pf_4lxml_5etree_4XSLT_2__init__(struct __pyx_obj_4lxml_5etree_X
  */
   __pyx_t_11 = ((__pyx_v_c_style == NULL) != 0);
   if (!__pyx_t_11) {
-    goto __pyx_L19_next_or;
   } else {
     __pyx_t_3 = __pyx_t_11;
     goto __pyx_L18_bool_binop_done;
   }
-  __pyx_L19_next_or:;
   __pyx_t_11 = (__pyx_v_c_style->errors != 0);
   __pyx_t_3 = __pyx_t_11;
   __pyx_L18_bool_binop_done:;
@@ -158490,12 +158110,10 @@ static int __pyx_pf_4lxml_5etree_4XSLT_2__init__(struct __pyx_obj_4lxml_5etree_X
     __pyx_t_11 = (__pyx_v_self->_error_log->__pyx_base.__pyx_base.last_error != Py_None);
     __pyx_t_12 = (__pyx_t_11 != 0);
     if (__pyx_t_12) {
-      goto __pyx_L23_next_and;
     } else {
       __pyx_t_3 = __pyx_t_12;
       goto __pyx_L22_bool_binop_done;
     }
-    __pyx_L23_next_and:;
 
     /* "src/lxml/xslt.pxi":408
  *             # last error seems to be the most accurate here
@@ -158738,12 +158356,10 @@ static void __pyx_pf_4lxml_5etree_4XSLT_4__dealloc__(struct __pyx_obj_4lxml_5etr
   __pyx_t_2 = (((PyObject *)__pyx_v_self->_xslt_resolver_context) != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
 
   /* "src/lxml/xslt.pxi":423
  *     def __dealloc__(self):
@@ -159067,7 +158683,7 @@ static PyObject *__pyx_pf_4lxml_5etree_4XSLT_8set_global_max_depth(int __pyx_v_m
  *         xslt.xsltMaxDepth = max_depth
  * 
  */
-    __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_ValueError, __pyx_tuple__94, 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__95, 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;
@@ -160169,12 +159785,10 @@ static PyObject *__pyx_pf_4lxml_5etree_4XSLT_18__call__(struct __pyx_obj_4lxml_5
     __pyx_t_6 = (((PyObject *)__pyx_v_resolver_context) != Py_None);
     __pyx_t_16 = (__pyx_t_6 != 0);
     if (__pyx_t_16) {
-      goto __pyx_L25_next_and;
     } else {
       __pyx_t_3 = __pyx_t_16;
       goto __pyx_L24_bool_binop_done;
     }
-    __pyx_L25_next_and:;
     __pyx_t_16 = (((struct __pyx_vtabstruct_4lxml_5etree__XSLTResolverContext *)__pyx_v_resolver_context->__pyx_base.__pyx_base.__pyx_vtab)->__pyx_base.__pyx_base._has_raised(((struct __pyx_obj_4lxml_5etree__ExceptionContext *)__pyx_v_resolver_context)) != 0);
     __pyx_t_3 = __pyx_t_16;
     __pyx_L24_bool_binop_done:;
@@ -160308,12 +159922,10 @@ static PyObject *__pyx_pf_4lxml_5etree_4XSLT_18__call__(struct __pyx_obj_4lxml_5
       __pyx_t_16 = (__pyx_v_error != Py_None);
       __pyx_t_6 = (__pyx_t_16 != 0);
       if (__pyx_t_6) {
-        goto __pyx_L32_next_and;
       } else {
         __pyx_t_3 = __pyx_t_6;
         goto __pyx_L31_bool_binop_done;
       }
-      __pyx_L32_next_and:;
       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_message); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L21_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 590; __pyx_clineno = __LINE__; goto __pyx_L21_error;}
@@ -160391,12 +160003,10 @@ static PyObject *__pyx_pf_4lxml_5etree_4XSLT_18__call__(struct __pyx_obj_4lxml_5
       __pyx_t_6 = (__pyx_v_error != Py_None);
       __pyx_t_16 = (__pyx_t_6 != 0);
       if (__pyx_t_16) {
-        goto __pyx_L35_next_and;
       } else {
         __pyx_t_3 = __pyx_t_16;
         goto __pyx_L34_bool_binop_done;
       }
-      __pyx_L35_next_and:;
       __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_error, __pyx_n_s_line); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L21_error;}
       __Pyx_GOTREF(__pyx_t_5);
       __pyx_t_17 = PyObject_RichCompare(__pyx_t_5, __pyx_int_0, Py_GT); __Pyx_XGOTREF(__pyx_t_17); if (unlikely(!__pyx_t_17)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L21_error;}
@@ -160615,12 +160225,10 @@ static PyObject *__pyx_pf_4lxml_5etree_4XSLT_18__call__(struct __pyx_obj_4lxml_5
  */
   __pyx_t_16 = ((__pyx_v_c_dict != __pyx_v_c_result->dict) != 0);
   if (!__pyx_t_16) {
-    goto __pyx_L42_next_or;
   } else {
     __pyx_t_3 = __pyx_t_16;
     goto __pyx_L41_bool_binop_done;
   }
-  __pyx_L42_next_or:;
 
   /* "src/lxml/xslt.pxi":610
  *         __GLOBAL_PARSER_CONTEXT.initThreadDictRef(&c_result.dict)
@@ -160631,12 +160239,10 @@ static PyObject *__pyx_pf_4lxml_5etree_4XSLT_18__call__(struct __pyx_obj_4lxml_5
  */
   __pyx_t_16 = ((__pyx_v_self->_c_style->doc->dict != __pyx_v_c_result->dict) != 0);
   if (!__pyx_t_16) {
-    goto __pyx_L43_next_or;
   } else {
     __pyx_t_3 = __pyx_t_16;
     goto __pyx_L41_bool_binop_done;
   }
-  __pyx_L43_next_or:;
 
   /* "src/lxml/xslt.pxi":611
  *         if c_dict is not c_result.dict or \
@@ -162340,12 +161946,10 @@ static int __pyx_pf_4lxml_5etree_15_XSLTResultTree_6__getbuffer__(struct __pyx_o
  */
   __pyx_t_2 = ((__pyx_v_self->_buffer == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_2 = ((__pyx_v_flags & PyBUF_WRITABLE) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L5_bool_binop_done:;
@@ -162380,12 +161984,10 @@ static int __pyx_pf_4lxml_5etree_15_XSLTResultTree_6__getbuffer__(struct __pyx_o
  */
     __pyx_t_2 = ((__pyx_v_self->_buffer == NULL) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L9_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L8_bool_binop_done;
     }
-    __pyx_L9_next_and:;
     __pyx_t_2 = ((!((__pyx_v_flags & PyBUF_WRITABLE) != 0)) != 0);
     __pyx_t_1 = __pyx_t_2;
     __pyx_L8_bool_binop_done:;
@@ -163128,7 +162730,7 @@ static PyObject *__pyx_f_4lxml_5etree__findStylesheetByID(struct LxmlDocument *_
  *             u"//xsl:stylesheet[@xml:id = $id]",
  *             namespaces={u"xsl" : u"http://www.w3.org/1999/XSL/Transform"})
  */
-    __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_XPath)), __pyx_tuple__95, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+    __pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_XPath)), __pyx_tuple__96, __pyx_t_3); if (unlikely(!__pyx_t_4)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 844; __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));
@@ -163402,14 +163004,12 @@ static PyObject *__pyx_pf_4lxml_5etree_26_XSLTProcessingInstruction_parseXSL(str
   __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_2) {
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
-    goto __pyx_L6_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_5);
     __pyx_t_3 = __pyx_t_5;
     __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_hrefs, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(__pyx_t_5 == NULL)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 873; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
   __Pyx_GOTREF(__pyx_t_5);
   __Pyx_INCREF(__pyx_t_5);
@@ -163601,12 +163201,10 @@ static PyObject *__pyx_pf_4lxml_5etree_26_XSLTProcessingInstruction_parseXSL(str
  */
   __pyx_t_18 = ((__pyx_v_c_attr != NULL) != 0);
   if (__pyx_t_18) {
-    goto __pyx_L16_next_and;
   } else {
     __pyx_t_2 = __pyx_t_18;
     goto __pyx_L15_bool_binop_done;
   }
-  __pyx_L16_next_and:;
   __pyx_t_18 = ((__pyx_v_c_attr->doc == __pyx_v_self->__pyx_base.__pyx_base.__pyx_base.__pyx_base._c_node->doc) != 0);
   __pyx_t_2 = __pyx_t_18;
   __pyx_L15_bool_binop_done:;
@@ -163907,13 +163505,11 @@ static PyObject *__pyx_pf_4lxml_5etree_26_XSLTProcessingInstruction_2set(struct
   __pyx_t_1 = (__Pyx_PySequence_Contains(__pyx_kp_u__54, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_3 = (__pyx_t_1 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
-  __pyx_t_3 = (__Pyx_PySequence_Contains(__pyx_kp_u__64, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 918; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_3 = (__Pyx_PySequence_Contains(__pyx_kp_u__65, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 918; __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:;
@@ -165031,12 +164627,10 @@ static PyObject *__pyx_f_4lxml_5etree_13XSLTExtension__collectXSLTResultContent(
  */
         __pyx_t_4 = ((!(__pyx_v_remove_blank_text != 0)) != 0);
         if (!__pyx_t_4) {
-          goto __pyx_L8_next_or;
         } else {
           __pyx_t_3 = __pyx_t_4;
           goto __pyx_L7_bool_binop_done;
         }
-        __pyx_L8_next_or:;
         __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_s, __pyx_n_s_strip); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_5);
         __pyx_t_6 = NULL;
@@ -166099,7 +165693,7 @@ static void __pyx_f_4lxml_5etree__callExtensionElement(xsltTransformContext *__p
                 __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 = 225; __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__96, NULL); if (unlikely(!__pyx_t_25)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L42_except_error;}
+                __pyx_t_25 = __Pyx_PyObject_Call(__pyx_t_26, __pyx_tuple__97, NULL); if (unlikely(!__pyx_t_25)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 225; __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);
@@ -170886,7 +170480,7 @@ static int __pyx_pf_4lxml_5etree_3DTD___init__(struct __pyx_obj_4lxml_5etree_DTD
         /*finally:*/ {
           /*normal exit:*/{
             if (__pyx_t_7) {
-              __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__97, NULL);
+              __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__98, 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);
@@ -171050,7 +170644,7 @@ static int __pyx_pf_4lxml_5etree_3DTD___init__(struct __pyx_obj_4lxml_5etree_DTD
       /*finally:*/ {
         /*normal exit:*/{
           if (__pyx_t_7) {
-            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__98, NULL);
+            __pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_tuple__99, 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);
@@ -172245,7 +171839,7 @@ static PyObject *__pyx_pf_4lxml_5etree_3DTD_14__call__(struct __pyx_obj_4lxml_5e
  */
     __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__99, 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__100, 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);
@@ -172389,7 +171983,7 @@ static PyObject *__pyx_pf_4lxml_5etree_3DTD_14__call__(struct __pyx_obj_4lxml_5e
       /*finally:*/ {
         /*normal exit:*/{
           if (__pyx_t_4) {
-            __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__100, NULL);
+            __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_tuple__101, 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);
@@ -172669,7 +172263,7 @@ static xmlDtd *__pyx_f_4lxml_5etree__parseDtdFromFilelike(PyObject *__pyx_v_file
     /*finally:*/ {
       /*normal exit:*/{
         if (__pyx_t_3) {
-          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__101, NULL);
+          __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__102, 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);
@@ -173202,20 +172796,16 @@ static void __pyx_f_4lxml_5etree__linkDtdAttribute(xmlDtd *__pyx_v_c_dtd, xmlAtt
     while (1) {
       __pyx_t_3 = ((__pyx_v_c_pos != __pyx_v_c_attr) != 0);
       if (__pyx_t_3) {
-        goto __pyx_L10_next_and;
       } else {
         __pyx_t_1 = __pyx_t_3;
         goto __pyx_L9_bool_binop_done;
       }
-      __pyx_L10_next_and:;
       __pyx_t_3 = (__pyx_v_c_pos->nexth != 0);
       if (__pyx_t_3) {
-        goto __pyx_L11_next_and;
       } else {
         __pyx_t_1 = __pyx_t_3;
         goto __pyx_L9_bool_binop_done;
       }
-      __pyx_L11_next_and:;
       __pyx_t_3 = (__pyx_f_4lxml_5etree__isDtdNsDecl(__pyx_v_c_pos->nexth) != 0);
       __pyx_t_1 = __pyx_t_3;
       __pyx_L9_bool_binop_done:;
@@ -173245,12 +172835,10 @@ static void __pyx_f_4lxml_5etree__linkDtdAttribute(xmlDtd *__pyx_v_c_dtd, xmlAtt
     while (1) {
       __pyx_t_3 = ((__pyx_v_c_pos != __pyx_v_c_attr) != 0);
       if (__pyx_t_3) {
-        goto __pyx_L15_next_and;
       } else {
         __pyx_t_1 = __pyx_t_3;
         goto __pyx_L14_bool_binop_done;
       }
-      __pyx_L15_next_and:;
       __pyx_t_3 = (__pyx_v_c_pos->nexth != 0);
       __pyx_t_1 = __pyx_t_3;
       __pyx_L14_bool_binop_done:;
@@ -173366,12 +172954,10 @@ static int __pyx_f_4lxml_5etree__isDtdNsDecl(xmlAttribute *__pyx_v_c_attr) {
  */
   __pyx_t_2 = ((__pyx_v_c_attr->prefix != NULL) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
 
   /* "src/lxml/dtd.pxi":466
  *         return True
@@ -173763,7 +173349,7 @@ static int __pyx_pf_4lxml_5etree_7RelaxNG_2__init__(struct __pyx_obj_4lxml_5etre
         /*finally:*/ {
           /*normal exit:*/{
             if (__pyx_t_9) {
-              __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__102, NULL);
+              __pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__103, NULL);
               __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
               if (unlikely(!__pyx_t_13)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
               __Pyx_GOTREF(__pyx_t_13);
@@ -175189,12 +174775,10 @@ static int __pyx_pf_4lxml_5etree_9XMLSchema_2__init__(struct __pyx_obj_4lxml_5et
  */
   __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_attribute_defaults); if (unlikely(__pyx_t_6 < 0)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 97; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (__pyx_t_6) {
-    goto __pyx_L14_next_and;
   } else {
     __pyx_t_1 = __pyx_t_6;
     goto __pyx_L13_bool_binop_done;
   }
-  __pyx_L14_next_and:;
 
   /* "src/lxml/xmlschema.pxi":98
  *             self._has_default_attributes = _check_for_default_attributes(doc)
@@ -175782,12 +175366,10 @@ static struct __pyx_obj_4lxml_5etree__ParserSchemaValidationContext *__pyx_f_4lx
  */
   __pyx_t_3 = (__pyx_v_self->_has_default_attributes != 0);
   if (__pyx_t_3) {
-    goto __pyx_L4_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_and:;
 
   /* "src/lxml/xmlschema.pxi":155
  *         context._schema = self
@@ -175798,12 +175380,10 @@ static struct __pyx_obj_4lxml_5etree__ParserSchemaValidationContext *__pyx_f_4lx
  */
   __pyx_t_3 = (__pyx_v_add_default_attributes != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = (__pyx_v_self->_add_attribute_defaults != 0);
   __pyx_t_2 = __pyx_t_3;
   __pyx_L3_bool_binop_done:;
@@ -176785,7 +176365,7 @@ static int __pyx_pf_4lxml_5etree_10Schematron_2__init__(struct __pyx_obj_4lxml_5
       /*finally:*/ {
         /*normal exit:*/{
           if (__pyx_t_8) {
-            __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__103, NULL);
+            __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__104, 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);
@@ -176918,7 +176498,7 @@ static int __pyx_pf_4lxml_5etree_10Schematron_2__init__(struct __pyx_obj_4lxml_5
       /*finally:*/ {
         /*normal exit:*/{
           if (__pyx_t_8) {
-            __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__104, NULL);
+            __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_tuple__105, 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);
@@ -177705,12 +177285,10 @@ struct LxmlElementTree *newElementTree(struct LxmlElement *__pyx_v_context_node,
  */
   __pyx_t_2 = ((((void *)__pyx_v_context_node) == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = (((PyObject *)__pyx_v_context_node) == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   __pyx_t_1 = __pyx_t_3;
@@ -177803,12 +177381,10 @@ struct LxmlElement *elementFactory(struct LxmlDocument *__pyx_v_doc, xmlNode *__
  */
   __pyx_t_2 = ((__pyx_v_c_node == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = (((PyObject *)__pyx_v_doc) == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   __pyx_t_1 = __pyx_t_3;
@@ -189941,6 +189517,73 @@ static PyTypeObject __pyx_type_4lxml_5etree_xmlfile = {
   0, /*tp_finalize*/
   #endif
 };
+
+static PyObject *__pyx_tp_new_4lxml_5etree_htmlfile(PyTypeObject *t, PyObject *a, PyObject *k) {
+  PyObject *o = __pyx_tp_new_4lxml_5etree_xmlfile(t, a, k);
+  if (unlikely(!o)) return 0;
+  return o;
+}
+
+static PyMethodDef __pyx_methods_4lxml_5etree_htmlfile[] = {
+  {0, 0, 0, 0}
+};
+
+static PyTypeObject __pyx_type_4lxml_5etree_htmlfile = {
+  PyVarObject_HEAD_INIT(0, 0)
+  "lxml.etree.htmlfile", /*tp_name*/
+  sizeof(struct __pyx_obj_4lxml_5etree_htmlfile), /*tp_basicsize*/
+  0, /*tp_itemsize*/
+  __pyx_tp_dealloc_4lxml_5etree_xmlfile, /*tp_dealloc*/
+  0, /*tp_print*/
+  0, /*tp_getattr*/
+  0, /*tp_setattr*/
+  #if PY_MAJOR_VERSION < 3
+  0, /*tp_compare*/
+  #else
+  0, /*reserved*/
+  #endif
+  0, /*tp_repr*/
+  0, /*tp_as_number*/
+  0, /*tp_as_sequence*/
+  0, /*tp_as_mapping*/
+  0, /*tp_hash*/
+  0, /*tp_call*/
+  0, /*tp_str*/
+  0, /*tp_getattro*/
+  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*/
+  "htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)\n\n    A simple mechanism for incremental HTML serialisation.  Works the same as\n    xmlfile.\n    ", /*tp_doc*/
+  __pyx_tp_traverse_4lxml_5etree_xmlfile, /*tp_traverse*/
+  __pyx_tp_clear_4lxml_5etree_xmlfile, /*tp_clear*/
+  0, /*tp_richcompare*/
+  0, /*tp_weaklistoffset*/
+  0, /*tp_iter*/
+  0, /*tp_iternext*/
+  __pyx_methods_4lxml_5etree_htmlfile, /*tp_methods*/
+  0, /*tp_members*/
+  0, /*tp_getset*/
+  0, /*tp_base*/
+  0, /*tp_dict*/
+  0, /*tp_descr_get*/
+  0, /*tp_descr_set*/
+  0, /*tp_dictoffset*/
+  __pyx_pw_4lxml_5etree_8htmlfile_1__init__, /*tp_init*/
+  0, /*tp_alloc*/
+  __pyx_tp_new_4lxml_5etree_htmlfile, /*tp_new*/
+  0, /*tp_free*/
+  0, /*tp_is_gc*/
+  0, /*tp_bases*/
+  0, /*tp_mro*/
+  0, /*tp_cache*/
+  0, /*tp_subclasses*/
+  0, /*tp_weaklist*/
+  0, /*tp_del*/
+  0, /*tp_version_tag*/
+  #if PY_VERSION_HEX >= 0x030400a1
+  0, /*tp_finalize*/
+  #endif
+};
 static struct __pyx_vtabstruct_4lxml_5etree__IncrementalFileWriter __pyx_vtable_4lxml_5etree__IncrementalFileWriter;
 
 static PyObject *__pyx_tp_new_4lxml_5etree__IncrementalFileWriter(PyTypeObject *t, PyObject *a, PyObject *k) {
@@ -194292,8 +193935,8 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__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__198, __pyx_k__198, sizeof(__pyx_k__198), 0, 0, 0, 0},
-  {&__pyx_kp_b__200, __pyx_k__200, sizeof(__pyx_k__200), 0, 0, 0, 0},
+  {&__pyx_kp_b__199, __pyx_k__199, sizeof(__pyx_k__199), 0, 0, 0, 0},
+  {&__pyx_kp_b__201, __pyx_k__201, sizeof(__pyx_k__201), 0, 0, 0, 0},
   {&__pyx_kp_s__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 0, 1, 0},
   {&__pyx_kp_u__22, __pyx_k__22, sizeof(__pyx_k__22), 0, 1, 0, 0},
   {&__pyx_kp_b__25, __pyx_k__25, sizeof(__pyx_k__25), 0, 0, 0, 0},
@@ -194311,9 +193954,9 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__pyx_n_s__47, __pyx_k__47, sizeof(__pyx_k__47), 0, 0, 1, 1},
   {&__pyx_n_u__47, __pyx_k__47, sizeof(__pyx_k__47), 0, 1, 0, 1},
   {&__pyx_kp_u__54, __pyx_k__54, sizeof(__pyx_k__54), 0, 1, 0, 0},
-  {&__pyx_kp_b__61, __pyx_k__61, sizeof(__pyx_k__61), 0, 0, 0, 0},
-  {&__pyx_kp_u__64, __pyx_k__64, sizeof(__pyx_k__64), 0, 1, 0, 0},
-  {&__pyx_kp_u__92, __pyx_k__92, sizeof(__pyx_k__92), 0, 1, 0, 0},
+  {&__pyx_kp_b__62, __pyx_k__62, sizeof(__pyx_k__62), 0, 0, 0, 0},
+  {&__pyx_kp_u__65, __pyx_k__65, sizeof(__pyx_k__65), 0, 1, 0, 0},
+  {&__pyx_kp_u__93, __pyx_k__93, sizeof(__pyx_k__93), 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},
@@ -194666,6 +194309,7 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = {
   {&__pyx_n_s_occur, __pyx_k_occur, sizeof(__pyx_k_occur), 0, 0, 1, 1},
   {&__pyx_n_s_old_element, __pyx_k_old_element, sizeof(__pyx_k_old_element), 0, 0, 1, 1},
   {&__pyx_n_s_once, __pyx_k_once, sizeof(__pyx_k_once), 0, 0, 1, 1},
+  {&__pyx_kp_s_only_XML_documents_have_declarat, __pyx_k_only_XML_documents_have_declarat, sizeof(__pyx_k_only_XML_documents_have_declarat), 0, 0, 1, 0},
   {&__pyx_kp_u_only_setting_the_href_attribute, __pyx_k_only_setting_the_href_attribute, sizeof(__pyx_k_only_setting_the_href_attribute), 0, 1, 0, 0},
   {&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
   {&__pyx_n_s_opt, __pyx_k_opt, sizeof(__pyx_k_opt), 0, 0, 1, 1},
@@ -195354,129 +194998,140 @@ static int __Pyx_InitCachedConstants(void) {
   __Pyx_GOTREF(__pyx_tuple__58);
   __Pyx_GIVEREF(__pyx_tuple__58);
 
-  /* "src/lxml/serializer.pxi":714
+  /* "src/lxml/serializer.pxi":730
  *         cdef int c_standalone
+ *         if self._method != OUTPUT_METHOD_XML:
+ *             raise LxmlSyntaxError("only XML documents have declarations")             # <<<<<<<<<<<<<<
+ *         if self._status >= WRITER_DECL_WRITTEN:
+ *             raise LxmlSyntaxError("XML declaration already written")
+ */
+  __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_s_only_XML_documents_have_declarat); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 730; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__59);
+  __Pyx_GIVEREF(__pyx_tuple__59);
+
+  /* "src/lxml/serializer.pxi":732
+ *             raise LxmlSyntaxError("only XML documents have declarations")
  *         if self._status >= WRITER_DECL_WRITTEN:
  *             raise LxmlSyntaxError("XML declaration already written")             # <<<<<<<<<<<<<<
  *         version = _utf8orNone(version)
  *         c_version = _xcstr(version) if version is not None else NULL
  */
-  __pyx_tuple__59 = PyTuple_Pack(1, __pyx_kp_s_XML_declaration_already_written); if (unlikely(!__pyx_tuple__59)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 714; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__59);
-  __Pyx_GIVEREF(__pyx_tuple__59);
+  __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_s_XML_declaration_already_written); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 732; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__60);
+  __Pyx_GIVEREF(__pyx_tuple__60);
 
-  /* "src/lxml/serializer.pxi":741
+  /* "src/lxml/serializer.pxi":759
  *             return
  *         if self._status >= WRITER_DTD_WRITTEN:
  *             raise LxmlSyntaxError("DOCTYPE already written or cannot write it here")             # <<<<<<<<<<<<<<
  *         doctype = _utf8(doctype)
  *         _writeDoctype(self._c_out, _xcstr(doctype))
  */
-  __pyx_tuple__60 = PyTuple_Pack(1, __pyx_kp_s_DOCTYPE_already_written_or_canno); if (unlikely(!__pyx_tuple__60)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 741; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__60);
-  __Pyx_GIVEREF(__pyx_tuple__60);
+  __pyx_tuple__61 = PyTuple_Pack(1, __pyx_kp_s_DOCTYPE_already_written_or_canno); if (unlikely(!__pyx_tuple__61)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 759; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__61);
+  __Pyx_GIVEREF(__pyx_tuple__61);
 
-  /* "src/lxml/serializer.pxi":785
+  /* "src/lxml/serializer.pxi":803
  *     cdef _write_start_element(self, element_config):
  *         if self._status > WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("cannot append trailing element to complete XML document")             # <<<<<<<<<<<<<<
  *         ns, name, attributes, nsmap = element_config
  *         flat_namespace_map, new_namespaces = self._collect_namespaces(nsmap)
  */
-  __pyx_tuple__62 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__62)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 785; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__62);
-  __Pyx_GIVEREF(__pyx_tuple__62);
+  __pyx_tuple__63 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__63)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 803; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__63);
+  __Pyx_GIVEREF(__pyx_tuple__63);
 
-  /* "src/lxml/serializer.pxi":825
+  /* "src/lxml/serializer.pxi":845
  *     cdef _write_end_element(self, element_config):
  *         if self._status != WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("not in an element")             # <<<<<<<<<<<<<<
  *         if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")
  */
-  __pyx_tuple__66 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__66)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 825; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__66);
-  __Pyx_GIVEREF(__pyx_tuple__66);
+  __pyx_tuple__67 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__67)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 845; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__67);
+  __Pyx_GIVEREF(__pyx_tuple__67);
 
-  /* "src/lxml/serializer.pxi":826
+  /* "src/lxml/serializer.pxi":846
  *         if self._status != WRITER_IN_ELEMENT:
  *             raise LxmlSyntaxError("not in an element")
  *         if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:             # <<<<<<<<<<<<<<
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")
  * 
  */
-  __pyx_slice__67 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__67)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_slice__67);
-  __Pyx_GIVEREF(__pyx_slice__67);
-  __pyx_slice__68 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__68)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 826; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_slice__68 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__68)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_slice__68);
   __Pyx_GIVEREF(__pyx_slice__68);
+  __pyx_slice__69 = PySlice_New(Py_None, __pyx_int_2, Py_None); if (unlikely(!__pyx_slice__69)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 846; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_slice__69);
+  __Pyx_GIVEREF(__pyx_slice__69);
 
-  /* "src/lxml/serializer.pxi":827
+  /* "src/lxml/serializer.pxi":847
  *             raise LxmlSyntaxError("not in an element")
  *         if not self._element_stack or self._element_stack[-1][:2] != element_config[:2]:
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")             # <<<<<<<<<<<<<<
  * 
  *         name, prefix = self._element_stack.pop()[1:3]
  */
-  __pyx_tuple__69 = PyTuple_Pack(1, __pyx_kp_s_inconsistent_exit_action_in_cont); if (unlikely(!__pyx_tuple__69)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 827; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__69);
-  __Pyx_GIVEREF(__pyx_tuple__69);
+  __pyx_tuple__70 = PyTuple_Pack(1, __pyx_kp_s_inconsistent_exit_action_in_cont); if (unlikely(!__pyx_tuple__70)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 847; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__70);
+  __Pyx_GIVEREF(__pyx_tuple__70);
 
-  /* "src/lxml/serializer.pxi":829
+  /* "src/lxml/serializer.pxi":849
  *             raise LxmlSyntaxError("inconsistent exit action in context manager")
  * 
  *         name, prefix = self._element_stack.pop()[1:3]             # <<<<<<<<<<<<<<
  *         tree.xmlOutputBufferWrite(self._c_out, 2, '</')
  *         self._write_qname(name, prefix)
  */
-  __pyx_slice__70 = PySlice_New(__pyx_int_1, __pyx_int_3, Py_None); if (unlikely(!__pyx_slice__70)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 829; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_slice__70);
-  __Pyx_GIVEREF(__pyx_slice__70);
+  __pyx_slice__71 = PySlice_New(__pyx_int_1, __pyx_int_3, Py_None); if (unlikely(!__pyx_slice__71)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 849; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_slice__71);
+  __Pyx_GIVEREF(__pyx_slice__71);
 
-  /* "src/lxml/serializer.pxi":883
+  /* "src/lxml/serializer.pxi":903
  *                 if self._status != WRITER_IN_ELEMENT:
  *                     if self._status > WRITER_IN_ELEMENT or content.strip():
  *                         raise LxmlSyntaxError("not in an element")             # <<<<<<<<<<<<<<
  *                 content = _utf8(content)
  *                 tree.xmlOutputBufferWriteEscape(self._c_out, _xcstr(content), NULL)
  */
-  __pyx_tuple__72 = PyTuple_Pack(1, __pyx_kp_s_not_in_an_element); if (unlikely(!__pyx_tuple__72)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 883; __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_not_in_an_element); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__73);
+  __Pyx_GIVEREF(__pyx_tuple__73);
 
-  /* "src/lxml/serializer.pxi":888
+  /* "src/lxml/serializer.pxi":908
  *             elif iselement(content):
  *                 if self._status > WRITER_IN_ELEMENT:
  *                     raise LxmlSyntaxError("cannot append trailing element to complete XML document")             # <<<<<<<<<<<<<<
  *                 _writeNodeToBuffer(self._c_out, (<_Element>content)._c_node,
- *                                    self._c_encoding, NULL, OUTPUT_METHOD_XML,
+ *                                    self._c_encoding, NULL, self._method,
  */
-  __pyx_tuple__73 = PyTuple_Pack(1, __pyx_kp_s_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__73)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 888; __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_cannot_append_trailing_element_t); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 908; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__74);
+  __Pyx_GIVEREF(__pyx_tuple__74);
 
-  /* "src/lxml/serializer.pxi":912
+  /* "src/lxml/serializer.pxi":932
  *         if raise_on_error:
  *             if self._status < WRITER_IN_ELEMENT:
  *                 raise LxmlSyntaxError("no content written")             # <<<<<<<<<<<<<<
  *             if self._element_stack:
  *                 raise LxmlSyntaxError("pending open tags on close")
  */
-  __pyx_tuple__74 = PyTuple_Pack(1, __pyx_kp_s_no_content_written); if (unlikely(!__pyx_tuple__74)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 912; __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_no_content_written); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 932; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__75);
+  __Pyx_GIVEREF(__pyx_tuple__75);
 
-  /* "src/lxml/serializer.pxi":914
+  /* "src/lxml/serializer.pxi":934
  *                 raise LxmlSyntaxError("no content written")
  *             if self._element_stack:
  *                 raise LxmlSyntaxError("pending open tags on close")             # <<<<<<<<<<<<<<
  *         error_result = self._c_out.error
  *         if error_result == xmlerror.XML_ERR_OK:
  */
-  __pyx_tuple__75 = PyTuple_Pack(1, __pyx_kp_s_pending_open_tags_on_close); if (unlikely(!__pyx_tuple__75)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 914; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__75);
-  __Pyx_GIVEREF(__pyx_tuple__75);
+  __pyx_tuple__76 = PyTuple_Pack(1, __pyx_kp_s_pending_open_tags_on_close); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 934; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__76);
+  __Pyx_GIVEREF(__pyx_tuple__76);
 
   /* "src/lxml/iterparse.pxi":66
  *     cdef bint _close_source_after_read
@@ -195485,9 +195140,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                  attribute_defaults=False, dtd_validation=False,
  *                  load_dtd=False, no_network=True, remove_blank_text=False,
  */
-  __pyx_tuple__76 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__76)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__76);
-  __Pyx_GIVEREF(__pyx_tuple__76);
+  __pyx_tuple__77 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 66; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__77);
+  __Pyx_GIVEREF(__pyx_tuple__77);
 
   /* "src/lxml/iterparse.pxi":218
  *     @cython.final
@@ -195496,9 +195151,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         if not isinstance(data, bytes):
  *             self._close_source()
  */
-  __pyx_tuple__77 = PyTuple_Pack(1, __pyx_int_32768); if (unlikely(!__pyx_tuple__77)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__77);
-  __Pyx_GIVEREF(__pyx_tuple__77);
+  __pyx_tuple__78 = PyTuple_Pack(1, __pyx_int_32768); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 218; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__78);
+  __Pyx_GIVEREF(__pyx_tuple__78);
 
   /* "src/lxml/iterparse.pxi":221
  *         if not isinstance(data, bytes):
@@ -195507,9 +195162,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         if not data:
  *             try:
  */
-  __pyx_tuple__78 = PyTuple_Pack(1, __pyx_kp_s_reading_file_objects_must_return); if (unlikely(!__pyx_tuple__78)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 221; __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_reading_file_objects_must_return); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 221; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__79);
+  __Pyx_GIVEREF(__pyx_tuple__79);
 
   /* "src/lxml/iterparse.pxi":245
  *     cdef int    _event_filter
@@ -195518,9 +195173,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         cdef _Element root
  *         cdef int ns_count
  */
-  __pyx_tuple__79 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__79)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__79);
-  __Pyx_GIVEREF(__pyx_tuple__79);
+  __pyx_tuple__80 = PyTuple_Pack(1, __pyx_n_u_end); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 245; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__80);
+  __Pyx_GIVEREF(__pyx_tuple__80);
 
   /* "src/lxml/iterparse.pxi":274
  *         cdef int ns_count = 0
@@ -195529,9 +195184,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         if self._matcher is not None and self._index >= 0:
  *             node = self._node_stack[self._index][0]
  */
-  __pyx_tuple__80 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__80)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__80);
-  __Pyx_GIVEREF(__pyx_tuple__80);
+  __pyx_tuple__81 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 274; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__81);
+  __Pyx_GIVEREF(__pyx_tuple__81);
 
   /* "src/lxml/iterparse.pxi":306
  *                 self._index += 1
@@ -195540,9 +195195,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         raise StopIteration
  * 
  */
-  __pyx_tuple__81 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__81)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__81);
-  __Pyx_GIVEREF(__pyx_tuple__81);
+  __pyx_tuple__82 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 306; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__82);
+  __Pyx_GIVEREF(__pyx_tuple__82);
 
   /* "src/lxml/iterparse.pxi":330
  *                 self._events.append( (u"end", node) )
@@ -195551,9 +195206,9 @@ static int __Pyx_InitCachedConstants(void) {
  *             for i from 0 <= i < ns_count:
  *                 self._events.append(event)
  */
-  __pyx_tuple__82 = PyTuple_Pack(2, __pyx_kp_u_end_ns, Py_None); if (unlikely(!__pyx_tuple__82)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__82);
-  __Pyx_GIVEREF(__pyx_tuple__82);
+  __pyx_tuple__83 = PyTuple_Pack(2, __pyx_kp_u_end_ns, Py_None); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[14]; __pyx_lineno = 330; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__83);
+  __Pyx_GIVEREF(__pyx_tuple__83);
 
   /* "src/lxml/xmlid.pxi":15
  *     global _find_id_attributes
@@ -195562,9 +195217,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  *     # ElementTree compatible implementation: parse and look for 'id' attributes
  */
-  __pyx_tuple__83 = PyTuple_Pack(1, __pyx_kp_u_string_id); if (unlikely(!__pyx_tuple__83)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__83);
-  __Pyx_GIVEREF(__pyx_tuple__83);
+  __pyx_tuple__84 = PyTuple_Pack(1, __pyx_kp_u_string_id); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__84);
+  __Pyx_GIVEREF(__pyx_tuple__84);
 
   /* "src/lxml/xmlid.pxi":21
  *     dic = {}
@@ -195573,9 +195228,9 @@ static int __Pyx_InitCachedConstants(void) {
  *     return (root, dic)
  * 
  */
-  __pyx_tuple__84 = PyTuple_Pack(1, __pyx_n_u_id); if (unlikely(!__pyx_tuple__84)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__84);
-  __Pyx_GIVEREF(__pyx_tuple__84);
+  __pyx_tuple__85 = PyTuple_Pack(1, __pyx_n_u_id); if (unlikely(!__pyx_tuple__85)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__85);
+  __Pyx_GIVEREF(__pyx_tuple__85);
 
   /* "src/lxml/xmlid.pxi":114
  *         if self._keys is None:
@@ -195584,9 +195239,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  *     def __iter__(self):
  */
-  __pyx_slice__85 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__85)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_slice__85);
-  __Pyx_GIVEREF(__pyx_slice__85);
+  __pyx_slice__86 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__86)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 114; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_slice__86);
+  __Pyx_GIVEREF(__pyx_slice__86);
 
   /* "src/lxml/xmlid.pxi":132
  *         if self._items is None:
@@ -195595,9 +195250,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  *     def iteritems(self):
  */
-  __pyx_slice__86 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__86)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_slice__86);
-  __Pyx_GIVEREF(__pyx_slice__86);
+  __pyx_slice__87 = PySlice_New(Py_None, Py_None, Py_None); if (unlikely(!__pyx_slice__87)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_slice__87);
+  __Pyx_GIVEREF(__pyx_slice__87);
 
   /* "src/lxml/extensions.pxi":446
  *         if function_mapping is None:
@@ -195606,9 +195261,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         for function_name in function_mapping:
  *             functions[(ns, function_name)] = getattr(module, function_name)
  */
-  __pyx_tuple__87 = PyTuple_Pack(1, __pyx_n_u__47); if (unlikely(!__pyx_tuple__87)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__87);
-  __Pyx_GIVEREF(__pyx_tuple__87);
+  __pyx_tuple__88 = PyTuple_Pack(1, __pyx_n_u__47); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 446; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__88);
+  __Pyx_GIVEREF(__pyx_tuple__88);
 
   /* "src/lxml/extensions.pxi":521
  *                 return ()
@@ -195617,9 +195272,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         result_list = []
  *         root = Element(u'matches')
  */
-  __pyx_tuple__88 = PyTuple_Pack(1, __pyx_kp_u__15); if (unlikely(!__pyx_tuple__88)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__88);
-  __Pyx_GIVEREF(__pyx_tuple__88);
+  __pyx_tuple__89 = PyTuple_Pack(1, __pyx_kp_u__15); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 521; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__89);
+  __Pyx_GIVEREF(__pyx_tuple__89);
 
   /* "src/lxml/extensions.pxi":523
  *             results.extend( result.groups(u'') )
@@ -195628,9 +195283,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         join_groups = u''.join
  *         for s_match in results:
  */
-  __pyx_tuple__89 = PyTuple_Pack(1, __pyx_n_u_matches); if (unlikely(!__pyx_tuple__89)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__89);
-  __Pyx_GIVEREF(__pyx_tuple__89);
+  __pyx_tuple__90 = PyTuple_Pack(1, __pyx_n_u_matches); if (unlikely(!__pyx_tuple__90)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 523; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__90);
+  __Pyx_GIVEREF(__pyx_tuple__90);
 
   /* "src/lxml/xpath.pxi":499
  *                 i += 1
@@ -195639,9 +195294,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                 namespace = (<bytes>namespace).decode('utf8')
  *                 namespaces[prefix.decode('utf8')] = namespace
  */
-  __pyx_slice__90 = PySlice_New(__pyx_int_1, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__90)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_slice__90);
-  __Pyx_GIVEREF(__pyx_slice__90);
+  __pyx_slice__91 = PySlice_New(__pyx_int_1, __pyx_int_neg_1, Py_None); if (unlikely(!__pyx_slice__91)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 499; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_slice__91);
+  __Pyx_GIVEREF(__pyx_slice__91);
 
   /* "src/lxml/xpath.pxi":505
  *                 # FIXME: this also replaces {namespaces} within strings!
@@ -195649,9 +195304,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         path = path_utf.decode('utf8')             # <<<<<<<<<<<<<<
  *         return path, namespaces
  */
-  __pyx_tuple__91 = PyTuple_Pack(1, __pyx_n_s_utf8); if (unlikely(!__pyx_tuple__91)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __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_s_utf8); if (unlikely(!__pyx_tuple__92)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 505; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__92);
+  __Pyx_GIVEREF(__pyx_tuple__92);
 
   /* "src/lxml/xslt.pxi":398
  *         c_doc._private = <python.PyObject*>self._xslt_resolver_context
@@ -195660,9 +195315,9 @@ static int __Pyx_InitCachedConstants(void) {
  *             c_style = xslt.xsltParseStylesheetDoc(c_doc)
  * 
  */
-  __pyx_tuple__93 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__93)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__93);
-  __Pyx_GIVEREF(__pyx_tuple__93);
+  __pyx_tuple__94 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 398; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__94);
+  __Pyx_GIVEREF(__pyx_tuple__94);
 
   /* "src/lxml/xslt.pxi":465
  *         """
@@ -195671,9 +195326,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         xslt.xsltMaxDepth = max_depth
  * 
  */
-  __pyx_tuple__94 = PyTuple_Pack(1, __pyx_kp_s_cannot_set_a_maximum_stylesheet); if (unlikely(!__pyx_tuple__94)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__94);
-  __Pyx_GIVEREF(__pyx_tuple__94);
+  __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_s_cannot_set_a_maximum_stylesheet); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 465; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__95);
+  __Pyx_GIVEREF(__pyx_tuple__95);
 
   /* "src/lxml/xslt.pxi":844
  *     global __findStylesheetByID
@@ -195682,9 +195337,9 @@ static int __Pyx_InitCachedConstants(void) {
  *             u"//xsl:stylesheet[@xml:id = $id]",
  *             namespaces={u"xsl" : u"http://www.w3.org/1999/XSL/Transform"})
  */
-  __pyx_tuple__95 = PyTuple_Pack(1, __pyx_kp_u_xsl_stylesheet_xml_id_id); if (unlikely(!__pyx_tuple__95)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 844; __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_xsl_stylesheet_xml_id_id); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 844; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__96);
+  __Pyx_GIVEREF(__pyx_tuple__96);
 
   /* "src/lxml/xsltext.pxi":225
  *                 e = unicode(e).encode(u"UTF-8")
@@ -195693,9 +195348,9 @@ static int __Pyx_InitCachedConstants(void) {
  *             message = python.PyBytes_FromFormat(
  *                 "Error executing extension element '%s': %s",
  */
-  __pyx_tuple__96 = PyTuple_Pack(1, __pyx_kp_u_UTF_8); if (unlikely(!__pyx_tuple__96)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__96);
-  __Pyx_GIVEREF(__pyx_tuple__96);
+  __pyx_tuple__97 = PyTuple_Pack(1, __pyx_kp_u_UTF_8); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[19]; __pyx_lineno = 225; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__97);
+  __Pyx_GIVEREF(__pyx_tuple__97);
 
   /* "src/lxml/dtd.pxi":281
  *             if _isString(file):
@@ -195704,9 +195359,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                     self._c_dtd = xmlparser.xmlParseDTD(NULL, _xcstr(file))
  *             elif hasattr(file, 'read'):
  */
-  __pyx_tuple__97 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__97)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__97);
-  __Pyx_GIVEREF(__pyx_tuple__97);
+  __pyx_tuple__98 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 281; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__98);
+  __Pyx_GIVEREF(__pyx_tuple__98);
 
   /* "src/lxml/dtd.pxi":288
  *                 raise DTDParseError, u"file must be a filename or file-like object"
@@ -195715,9 +195370,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                 self._c_dtd = xmlparser.xmlParseDTD(<const_xmlChar*>external_id, NULL)
  *         else:
  */
-  __pyx_tuple__98 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__98)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__98);
-  __Pyx_GIVEREF(__pyx_tuple__98);
+  __pyx_tuple__99 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 288; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__99);
+  __Pyx_GIVEREF(__pyx_tuple__99);
 
   /* "src/lxml/dtd.pxi":364
  *         valid_ctxt = dtdvalid.xmlNewValidCtxt()
@@ -195726,9 +195381,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  *         # work around error reporting bug in libxml2 <= 2.9.1 (and later?)
  */
-  __pyx_tuple__99 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_create_validation_cont); if (unlikely(!__pyx_tuple__99)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__99);
-  __Pyx_GIVEREF(__pyx_tuple__99);
+  __pyx_tuple__100 = PyTuple_Pack(1, __pyx_kp_u_Failed_to_create_validation_cont); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 364; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__100);
+  __Pyx_GIVEREF(__pyx_tuple__100);
 
   /* "src/lxml/dtd.pxi":372
  * 
@@ -195737,9 +195392,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                 c_doc = _fakeRootDoc(doc._c_doc, root_node._c_node)
  *                 ret = dtdvalid.xmlValidateDtd(valid_ctxt, c_doc, self._c_dtd)
  */
-  __pyx_tuple__100 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__100)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__100);
-  __Pyx_GIVEREF(__pyx_tuple__100);
+  __pyx_tuple__101 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 372; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__101);
+  __Pyx_GIVEREF(__pyx_tuple__101);
 
   /* "src/lxml/dtd.pxi":394
  *     error_log = _ErrorLog()
@@ -195748,9 +195403,9 @@ static int __Pyx_InitCachedConstants(void) {
  *         c_dtd = dtd_parser._readDtd()
  * 
  */
-  __pyx_tuple__101 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__101)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__101);
-  __Pyx_GIVEREF(__pyx_tuple__101);
+  __pyx_tuple__102 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[20]; __pyx_lineno = 394; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__102);
+  __Pyx_GIVEREF(__pyx_tuple__102);
 
   /* "src/lxml/relaxng.pxi":51
  *                 doc = None
@@ -195759,9 +195414,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                     parser_ctxt = relaxng.xmlRelaxNGNewParserCtxt(_cstr(filename))
  *             else:
  */
-  __pyx_tuple__102 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__102)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__102);
-  __Pyx_GIVEREF(__pyx_tuple__102);
+  __pyx_tuple__103 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[21]; __pyx_lineno = 51; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__103);
+  __Pyx_GIVEREF(__pyx_tuple__103);
 
   /* "src/lxml/schematron.pxi":98
  *                 filename = file
@@ -195770,9 +195425,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                 parser_ctxt = schematron.xmlSchematronNewParserCtxt(_cstr(filename))
  *         else:
  */
-  __pyx_tuple__103 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__103)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__103);
-  __Pyx_GIVEREF(__pyx_tuple__103);
+  __pyx_tuple__104 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 98; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__104);
+  __Pyx_GIVEREF(__pyx_tuple__104);
 
   /* "src/lxml/schematron.pxi":110
  * 
@@ -195781,9 +195436,9 @@ static int __Pyx_InitCachedConstants(void) {
  *                 self._c_schema = schematron.xmlSchematronParse(parser_ctxt)
  *         finally:
  */
-  __pyx_tuple__104 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__104)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__104);
-  __Pyx_GIVEREF(__pyx_tuple__104);
+  __pyx_tuple__105 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[23]; __pyx_lineno = 110; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__105);
+  __Pyx_GIVEREF(__pyx_tuple__105);
 
   /* "src/lxml/lxml.etree.pyx":103
  * 
@@ -195792,10 +195447,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         raise KeyError, key
  * 
  */
-  __pyx_tuple__105 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__105)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__105);
-  __Pyx_GIVEREF(__pyx_tuple__105);
-  __pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_getitem, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__106 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__106)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__106);
+  __Pyx_GIVEREF(__pyx_tuple__106);
+  __pyx_codeobj__107 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__106, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_getitem, 103, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":106
  *         raise KeyError, key
@@ -195804,10 +195459,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         raise KeyError, key
  * 
  */
-  __pyx_tuple__107 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__107)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__107);
-  __Pyx_GIVEREF(__pyx_tuple__107);
-  __pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_setitem, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__108 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__108)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__108);
+  __Pyx_GIVEREF(__pyx_tuple__108);
+  __pyx_codeobj__109 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__108, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_setitem, 106, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":109
  *         raise KeyError, key
@@ -195816,10 +195471,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         raise KeyError, key
  * 
  */
-  __pyx_tuple__109 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__109)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__109);
-  __Pyx_GIVEREF(__pyx_tuple__109);
-  __pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_delitem, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__110 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__110)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__110);
+  __Pyx_GIVEREF(__pyx_tuple__110);
+  __pyx_codeobj__111 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__110, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_delitem, 109, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":112
  *         raise KeyError, key
@@ -195828,10 +195483,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         return False
  * 
  */
-  __pyx_tuple__111 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__111)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__111);
-  __Pyx_GIVEREF(__pyx_tuple__111);
-  __pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_contains, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__112 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_key); if (unlikely(!__pyx_tuple__112)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__112);
+  __Pyx_GIVEREF(__pyx_tuple__112);
+  __pyx_codeobj__113 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__112, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_contains, 112, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":115
  *         return False
@@ -195840,10 +195495,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         return 0
  * 
  */
-  __pyx_tuple__113 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__113)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__113);
-  __Pyx_GIVEREF(__pyx_tuple__113);
-  __pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_len, 115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__114 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__114)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__114);
+  __Pyx_GIVEREF(__pyx_tuple__114);
+  __pyx_codeobj__115 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__114, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_len, 115, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":118
  *         return 0
@@ -195852,10 +195507,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         return ITER_EMPTY
  *     iterkeys = itervalues = iteritems = __iter__
  */
-  __pyx_tuple__115 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__115)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__115);
-  __Pyx_GIVEREF(__pyx_tuple__115);
-  __pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iter_2, 118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__116 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__116)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__116);
+  __Pyx_GIVEREF(__pyx_tuple__116);
+  __pyx_codeobj__117 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__116, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iter_2, 118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":161
  * 
@@ -195864,9 +195519,9 @@ static int __Pyx_InitCachedConstants(void) {
  * cdef char* _C_FILENAME_ENCODING = _cstr(_FILENAME_ENCODING)
  * 
  */
-  __pyx_tuple__117 = PyTuple_Pack(1, __pyx_kp_u_UTF_8); if (unlikely(!__pyx_tuple__117)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __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_u_UTF_8); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__118);
+  __Pyx_GIVEREF(__pyx_tuple__118);
 
   /* "src/lxml/lxml.etree.pyx":180
  * }
@@ -195875,9 +195530,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  * def register_namespace(prefix, uri):
  */
-  __pyx_tuple__118 = PyTuple_Pack(1, __pyx_kp_b_ns_d_2); if (unlikely(!__pyx_tuple__118)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__118);
-  __Pyx_GIVEREF(__pyx_tuple__118);
+  __pyx_tuple__119 = PyTuple_Pack(1, __pyx_kp_b_ns_d_2); if (unlikely(!__pyx_tuple__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__119);
+  __Pyx_GIVEREF(__pyx_tuple__119);
 
   /* "src/lxml/lxml.etree.pyx":182
  * cdef object _check_internal_prefix = re.compile(b"ns\d+$").match
@@ -195886,10 +195541,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""Registers a namespace prefix that newly created Elements in that
  *     namespace will use.  The registry is global, and any existing
  */
-  __pyx_tuple__119 = 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__119)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__119);
-  __Pyx_GIVEREF(__pyx_tuple__119);
-  __pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(2, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_register_namespace, 182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__120 = 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__120)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __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, 6, 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_register_namespace, 182, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 182; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":208
  *     this one.
@@ -195898,13 +195553,13 @@ static int __Pyx_InitCachedConstants(void) {
  *         super(_Error, self).__init__(message)
  *         if error_log is None:
  */
-  __pyx_tuple__121 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_error_log); if (unlikely(!__pyx_tuple__121)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__121);
-  __Pyx_GIVEREF(__pyx_tuple__121);
-  __pyx_codeobj__122 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 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_init, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __pyx_tuple__123 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__123);
-  __Pyx_GIVEREF(__pyx_tuple__123);
+  __pyx_tuple__122 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_message, __pyx_n_s_error_log); if (unlikely(!__pyx_tuple__122)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __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_init, 208, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__124 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__124);
+  __Pyx_GIVEREF(__pyx_tuple__124);
 
   /* "src/lxml/lxml.etree.pyx":263
  * try:
@@ -195913,9 +195568,9 @@ static int __Pyx_InitCachedConstants(void) {
  * except Exception:
  *     print u"Unknown libxml2 version: %s" % (<unsigned char*>tree.xmlParserVersion).decode("ascii")
  */
-  __pyx_tuple__124 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__124)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__124);
-  __Pyx_GIVEREF(__pyx_tuple__124);
+  __pyx_tuple__125 = PyTuple_Pack(1, __pyx_int_0); if (unlikely(!__pyx_tuple__125)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__125);
+  __Pyx_GIVEREF(__pyx_tuple__125);
 
   /* "src/lxml/xmlerror.pxi":8
  * # module level API functions
@@ -195924,7 +195579,7 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""clear_error_log()
  * 
  */
-  __pyx_codeobj__125 = (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__125)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_codeobj__126 = (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__126)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 8; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xmlerror.pxi":545
  * 
@@ -195933,9 +195588,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  * cdef _BaseErrorLog _getGlobalErrorLog():
  */
-  __pyx_tuple__126 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__126)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__126);
-  __Pyx_GIVEREF(__pyx_tuple__126);
+  __pyx_tuple__127 = PyTuple_Pack(1, __pyx_int_100); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__127);
+  __Pyx_GIVEREF(__pyx_tuple__127);
 
   /* "src/lxml/xmlerror.pxi":574
  *     return _getGlobalErrorLog().copy()
@@ -195944,10 +195599,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""use_global_python_log(log)
  * 
  */
-  __pyx_tuple__127 = PyTuple_Pack(1, __pyx_n_s_log); if (unlikely(!__pyx_tuple__127)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__127);
-  __Pyx_GIVEREF(__pyx_tuple__127);
-  __pyx_codeobj__128 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_2, __pyx_n_s_use_global_python_log, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__128)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__128 = PyTuple_Pack(1, __pyx_n_s_log); if (unlikely(!__pyx_tuple__128)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __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_2, __pyx_n_s_use_global_python_log, 574, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__129)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 574; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xmlerror.pxi":739
  * # cannot handle strings that are a few thousand bytes in length.
@@ -195956,9 +195611,9 @@ static int __Pyx_InitCachedConstants(void) {
  * NONE=0
  * WARNING=1
  */
-  __pyx_tuple__129 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_WARNING_1_ERROR_2_FATAL_3); if (unlikely(!__pyx_tuple__129)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__129);
-  __Pyx_GIVEREF(__pyx_tuple__129);
+  __pyx_tuple__130 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_WARNING_1_ERROR_2_FATAL_3); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 739; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__130);
+  __Pyx_GIVEREF(__pyx_tuple__130);
 
   /* "src/lxml/xmlerror.pxi":746
  * """,)
@@ -195967,9 +195622,9 @@ static int __Pyx_InitCachedConstants(void) {
  * NONE=0
  * PARSER=1
  */
-  __pyx_tuple__130 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_PARSER_1_TREE_2_NAMESPACE); if (unlikely(!__pyx_tuple__130)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__130);
-  __Pyx_GIVEREF(__pyx_tuple__130);
+  __pyx_tuple__131 = PyTuple_Pack(1, __pyx_kp_u_NONE_0_PARSER_1_TREE_2_NAMESPACE); if (unlikely(!__pyx_tuple__131)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 746; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__131);
+  __Pyx_GIVEREF(__pyx_tuple__131);
 
   /* "src/lxml/xmlerror.pxi":780
  * """,)
@@ -195978,9 +195633,9 @@ static int __Pyx_InitCachedConstants(void) {
  * ERR_OK=0
  * ERR_INTERNAL_ERROR=1
  */
-  __pyx_tuple__131 = 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__131)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__131);
-  __Pyx_GIVEREF(__pyx_tuple__131);
+  __pyx_tuple__132 = 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__132)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 780; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__132);
+  __Pyx_GIVEREF(__pyx_tuple__132);
 
   /* "src/lxml/xmlerror.pxi":1537
  * """,)
@@ -195989,9 +195644,9 @@ static int __Pyx_InitCachedConstants(void) {
  * RELAXNG_OK=0
  * RELAXNG_ERR_MEMORY=1
  */
-  __pyx_tuple__132 = PyTuple_Pack(1, __pyx_kp_u_RELAXNG_OK_0_RELAXNG_ERR_MEMORY); if (unlikely(!__pyx_tuple__132)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1537; __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_u_RELAXNG_OK_0_RELAXNG_ERR_MEMORY); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 1537; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__133);
+  __Pyx_GIVEREF(__pyx_tuple__133);
 
   /* "src/lxml/lxml.etree.pyx":2891
  * # module-level API for ElementTree
@@ -196000,10 +195655,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""Element(_tag, attrib=None, nsmap=None, **_extra)
  * 
  */
-  __pyx_tuple__133 = PyTuple_Pack(4, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__133)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__133);
-  __Pyx_GIVEREF(__pyx_tuple__133);
-  __pyx_codeobj__134 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__133, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Element, 2891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__134 = PyTuple_Pack(4, __pyx_n_s_tag_2, __pyx_n_s_attrib, __pyx_n_s_nsmap, __pyx_n_s_extra); if (unlikely(!__pyx_tuple__134)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__134);
+  __Pyx_GIVEREF(__pyx_tuple__134);
+  __pyx_codeobj__135 = (PyObject*)__Pyx_PyCode_New(3, 0, 4, 0, CO_VARKEYWORDS, __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_Element, 2891, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":2904
  *                         attrib, nsmap, _extra)
@@ -196012,10 +195667,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""Comment(text=None)
  * 
  */
-  __pyx_tuple__135 = 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__135)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__135);
-  __Pyx_GIVEREF(__pyx_tuple__135);
-  __pyx_codeobj__136 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_Comment, 2904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__136 = 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__136)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__136);
+  __Pyx_GIVEREF(__pyx_tuple__136);
+  __pyx_codeobj__137 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 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_Comment, 2904, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2904; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":2923
  *     return _elementFactory(doc, c_node)
@@ -196024,10 +195679,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""ProcessingInstruction(target, text=None)
  * 
  */
-  __pyx_tuple__137 = 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__137)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__137);
-  __Pyx_GIVEREF(__pyx_tuple__137);
-  __pyx_codeobj__138 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_ProcessingInstruction, 2923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__138 = 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__138)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__138);
+  __Pyx_GIVEREF(__pyx_tuple__138);
+  __pyx_codeobj__139 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__138, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_ProcessingInstruction, 2923, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2923; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":2963
  *         self._utf8_data = _utf8(data)
@@ -196036,10 +195691,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""Entity(name)
  * 
  */
-  __pyx_tuple__139 = 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__139)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__139);
-  __Pyx_GIVEREF(__pyx_tuple__139);
-  __pyx_codeobj__140 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__139, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Entity, 2963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__140 = 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__140)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__140);
+  __Pyx_GIVEREF(__pyx_tuple__140);
+  __pyx_codeobj__141 = (PyObject*)__Pyx_PyCode_New(1, 0, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__140, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_Entity, 2963, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2963; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":2988
  *     return _elementFactory(doc, c_node)
@@ -196048,10 +195703,10 @@ static int __Pyx_InitCachedConstants(void) {
  *                attrib=None, nsmap=None, **_extra):
  *     u"""SubElement(_parent, _tag, attrib=None, nsmap=None, **_extra)
  */
-  __pyx_tuple__141 = 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__141)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__141);
-  __Pyx_GIVEREF(__pyx_tuple__141);
-  __pyx_codeobj__142 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__141, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_SubElement, 2988, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__142 = 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__142)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__142);
+  __Pyx_GIVEREF(__pyx_tuple__142);
+  __pyx_codeobj__143 = (PyObject*)__Pyx_PyCode_New(4, 0, 5, 0, CO_VARKEYWORDS, __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, __pyx_n_s_SubElement, 2988, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2988; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":2997
  *     return _makeSubElement(_parent, _tag, None, None, attrib, nsmap, _extra)
@@ -196060,10 +195715,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""ElementTree(element=None, file=None, parser=None)
  * 
  */
-  __pyx_tuple__143 = 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__143)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2997; __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, 2, 10, 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, __pyx_n_s_ElementTree, 2997, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__144 = 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__144)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__144);
+  __Pyx_GIVEREF(__pyx_tuple__144);
+  __pyx_codeobj__145 = (PyObject*)__Pyx_PyCode_New(1, 2, 10, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__144, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_ElementTree, 2997, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2997; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3022
  *     return _elementTreeFactory(doc, element)
@@ -196072,10 +195727,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""HTML(text, parser=None, base_url=None)
  * 
  */
-  __pyx_tuple__145 = 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__145)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__145);
-  __Pyx_GIVEREF(__pyx_tuple__145);
-  __pyx_codeobj__146 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__145, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_HTML, 3022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__146 = 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__146)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__146);
+  __Pyx_GIVEREF(__pyx_tuple__146);
+  __pyx_codeobj__147 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__146, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_HTML, 3022, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3022; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3047
  *         return result_container.result
@@ -196084,10 +195739,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""XML(text, parser=None, base_url=None)
  * 
  */
-  __pyx_tuple__147 = 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__147)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__147);
-  __Pyx_GIVEREF(__pyx_tuple__147);
-  __pyx_codeobj__148 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__147, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_XML, 3047, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__148 = 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__148)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__148);
+  __Pyx_GIVEREF(__pyx_tuple__148);
+  __pyx_codeobj__149 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__148, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_XML, 3047, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3047; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3077
  *         return result_container.result
@@ -196096,10 +195751,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""fromstring(text, parser=None, base_url=None)
  * 
  */
-  __pyx_tuple__149 = 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__149)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__149);
-  __Pyx_GIVEREF(__pyx_tuple__149);
-  __pyx_codeobj__150 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __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_fromstring, 3077, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__150 = 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__150)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__150);
+  __Pyx_GIVEREF(__pyx_tuple__150);
+  __pyx_codeobj__151 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 0, 0, __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_fromstring, 3077, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3077; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3097
  *         return result_container.result
@@ -196108,10 +195763,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""fromstringlist(strings, parser=None)
  * 
  */
-  __pyx_tuple__151 = 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__151)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3097; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__151);
-  __Pyx_GIVEREF(__pyx_tuple__151);
-  __pyx_codeobj__152 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__151, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_fromstringlist, 3097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3097; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__152 = 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__152)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3097; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__152);
+  __Pyx_GIVEREF(__pyx_tuple__152);
+  __pyx_codeobj__153 = (PyObject*)__Pyx_PyCode_New(2, 0, 5, 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_fromstringlist, 3097, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3097; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3117
  *     return parser.close()
@@ -196120,10 +195775,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""iselement(element)
  * 
  */
-  __pyx_tuple__153 = PyTuple_Pack(1, __pyx_n_s_element); if (unlikely(!__pyx_tuple__153)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3117; __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, 1, 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_iselement, 3117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__154 = PyTuple_Pack(1, __pyx_n_s_element); if (unlikely(!__pyx_tuple__154)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__154);
+  __Pyx_GIVEREF(__pyx_tuple__154);
+  __pyx_codeobj__155 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__154, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_iselement, 3117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3117; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3124
  *     return isinstance(element, _Element) and (<_Element>element)._c_node is not NULL
@@ -196132,10 +195787,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""dump(elem, pretty_print=True, with_tail=True)
  * 
  */
-  __pyx_tuple__155 = 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__155)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__155);
-  __Pyx_GIVEREF(__pyx_tuple__155);
-  __pyx_codeobj__156 = (PyObject*)__Pyx_PyCode_New(1, 2, 4, 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_dump, 3124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__156 = 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__156)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__156);
+  __Pyx_GIVEREF(__pyx_tuple__156);
+  __pyx_codeobj__157 = (PyObject*)__Pyx_PyCode_New(1, 2, 4, 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_dump, 3124, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3124; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3136
  *     sys.stdout.write(xml)
@@ -196144,10 +195799,10 @@ static int __Pyx_InitCachedConstants(void) {
  *              xml_declaration=None, bint pretty_print=False, bint with_tail=True,
  *              standalone=None, doctype=None,
  */
-  __pyx_tuple__157 = 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__157)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__157);
-  __Pyx_GIVEREF(__pyx_tuple__157);
-  __pyx_codeobj__158 = (PyObject*)__Pyx_PyCode_New(1, 10, 13, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__157, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tostring, 3136, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__158 = 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__158)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3136; __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, 10, 13, 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_tostring, 3136, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3136; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3228
  *             python._fqtypename(element_or_tree).decode('utf8')
@@ -196156,10 +195811,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""tostringlist(element_or_tree, *args, **kwargs)
  * 
  */
-  __pyx_tuple__159 = PyTuple_Pack(3, __pyx_n_s_element_or_tree, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__159)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3228; __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, 3, 0, CO_VARARGS|CO_VARKEYWORDS, __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_tostringlist, 3228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__160 = PyTuple_Pack(3, __pyx_n_s_element_or_tree, __pyx_n_s_args, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__160)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__160);
+  __Pyx_GIVEREF(__pyx_tuple__160);
+  __pyx_codeobj__161 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_VARARGS|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_tostringlist, 3228, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3228; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3239
  *     return [tostring(element_or_tree, *args, **kwargs)]
@@ -196168,10 +195823,10 @@ static int __Pyx_InitCachedConstants(void) {
  *               bint with_tail=True, doctype=None):
  *     u"""tounicode(element_or_tree, method="xml", pretty_print=False,
  */
-  __pyx_tuple__161 = 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__161)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__161);
-  __Pyx_GIVEREF(__pyx_tuple__161);
-  __pyx_codeobj__162 = (PyObject*)__Pyx_PyCode_New(1, 4, 5, 0, 0, __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_tounicode, 3239, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__162 = 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__162)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__162);
+  __Pyx_GIVEREF(__pyx_tuple__162);
+  __pyx_codeobj__163 = (PyObject*)__Pyx_PyCode_New(1, 4, 5, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__162, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml, __pyx_n_s_tounicode, 3239, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3239; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/lxml.etree.pyx":3273
  *             type(element_or_tree)
@@ -196180,10 +195835,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""parse(source, parser=None, base_url=None)
  * 
  */
-  __pyx_tuple__163 = 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__163)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__163);
-  __Pyx_GIVEREF(__pyx_tuple__163);
-  __pyx_codeobj__164 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 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_parse, 3273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__164 = 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__164)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__164);
+  __Pyx_GIVEREF(__pyx_tuple__164);
+  __pyx_codeobj__165 = (PyObject*)__Pyx_PyCode_New(2, 1, 5, 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_parse, 3273, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__165)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 3273; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/classlookup.pxi":551
  *     LOOKUP_ELEMENT_CLASS = function
@@ -196192,10 +195847,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""set_element_class_lookup(lookup = None)
  * 
  */
-  __pyx_tuple__165 = PyTuple_Pack(1, __pyx_n_s_lookup); if (unlikely(!__pyx_tuple__165)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__165);
-  __Pyx_GIVEREF(__pyx_tuple__165);
-  __pyx_codeobj__166 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__165, __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__166)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__166 = PyTuple_Pack(1, __pyx_n_s_lookup); if (unlikely(!__pyx_tuple__166)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__166);
+  __Pyx_GIVEREF(__pyx_tuple__166);
+  __pyx_codeobj__167 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_3, __pyx_n_s_set_element_class_lookup, 551, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__167)) {__pyx_filename = __pyx_f[9]; __pyx_lineno = 551; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/nsclasses.pxi":175
  * __FUNCTION_NAMESPACE_REGISTRIES = {}
@@ -196204,10 +195859,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""FunctionNamespace(ns_uri)
  * 
  */
-  __pyx_tuple__167 = PyTuple_Pack(3, __pyx_n_s_ns_uri, __pyx_n_s_ns_utf, __pyx_n_s_registry); if (unlikely(!__pyx_tuple__167)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__167);
-  __Pyx_GIVEREF(__pyx_tuple__167);
-  __pyx_codeobj__168 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 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_4, __pyx_n_s_FunctionNamespace, 175, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__168)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__168 = PyTuple_Pack(3, __pyx_n_s_ns_uri, __pyx_n_s_ns_utf, __pyx_n_s_registry); if (unlikely(!__pyx_tuple__168)) {__pyx_filename = __pyx_f[10]; __pyx_lineno = 175; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__168);
+  __Pyx_GIVEREF(__pyx_tuple__168);
+  __pyx_codeobj__169 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__168, __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__169)) {__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.
@@ -196216,10 +195871,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         super(_ParseError, self).__init__(message)
  *         self.position = (line, column)
  */
-  __pyx_tuple__169 = 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__169)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__169);
-  __Pyx_GIVEREF(__pyx_tuple__169);
-  __pyx_codeobj__170 = (PyObject*)__Pyx_PyCode_New(5, 0, 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_5, __pyx_n_s_init, 18, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__170)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__170 = 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__170)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__170);
+  __Pyx_GIVEREF(__pyx_tuple__170);
+  __pyx_codeobj__171 = (PyObject*)__Pyx_PyCode_New(5, 0, 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_5, __pyx_n_s_init, 18, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__171)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/parser.pxi":1562
  * __GLOBAL_PARSER_CONTEXT.setDefaultParser(__DEFAULT_XML_PARSER)
@@ -196228,10 +195883,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""set_default_parser(parser=None)
  * 
  */
-  __pyx_tuple__171 = PyTuple_Pack(1, __pyx_n_s_parser); if (unlikely(!__pyx_tuple__171)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__171);
-  __Pyx_GIVEREF(__pyx_tuple__171);
-  __pyx_codeobj__172 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__171, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_5, __pyx_n_s_set_default_parser, 1562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__172)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__172 = PyTuple_Pack(1, __pyx_n_s_parser); if (unlikely(!__pyx_tuple__172)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__172);
+  __Pyx_GIVEREF(__pyx_tuple__172);
+  __pyx_codeobj__173 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_5, __pyx_n_s_set_default_parser, 1562, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1562; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/parser.pxi":1578
  *     __GLOBAL_PARSER_CONTEXT.setDefaultParser(parser)
@@ -196240,7 +195895,7 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"get_default_parser()"
  *     return __GLOBAL_PARSER_CONTEXT.getDefaultParser()
  */
-  __pyx_codeobj__173 = (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, 1578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__173)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_codeobj__174 = (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, 1578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__174)) {__pyx_filename = __pyx_f[6]; __pyx_lineno = 1578; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/saxparser.pxi":468
  * 
@@ -196249,9 +195904,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  * 
  */
-  __pyx_tuple__174 = PyTuple_Pack(2, __pyx_kp_s_end_ns, Py_None); if (unlikely(!__pyx_tuple__174)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__174);
-  __Pyx_GIVEREF(__pyx_tuple__174);
+  __pyx_tuple__175 = PyTuple_Pack(2, __pyx_kp_s_end_ns, Py_None); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[12]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__175);
+  __Pyx_GIVEREF(__pyx_tuple__175);
 
   /* "src/lxml/parsertarget.pxi":10
  *     # to push the Python level parser result through the parser
@@ -196260,10 +195915,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         self.result = result
  * 
  */
-  __pyx_tuple__175 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_result); if (unlikely(!__pyx_tuple__175)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __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, 2, 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_6, __pyx_n_s_init, 10, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__176)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__176 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_result); if (unlikely(!__pyx_tuple__176)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __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, 2, 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_6, __pyx_n_s_init, 10, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__177)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xmlid.pxi":3
  * cdef object _find_id_attributes
@@ -196272,10 +195927,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""XMLID(text, parser=None, base_url=None)
  * 
  */
-  __pyx_tuple__177 = 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__177)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__177);
-  __Pyx_GIVEREF(__pyx_tuple__177);
-  __pyx_codeobj__178 = (PyObject*)__Pyx_PyCode_New(2, 1, 6, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__177, __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__178)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__178 = 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__178)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__178);
+  __Pyx_GIVEREF(__pyx_tuple__178);
+  __pyx_codeobj__179 = (PyObject*)__Pyx_PyCode_New(2, 1, 6, 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_7, __pyx_n_s_XMLID, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__179)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xmlid.pxi":24
  *     return (root, dic)
@@ -196284,10 +195939,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""XMLDTDID(text, parser=None, base_url=None)
  * 
  */
-  __pyx_tuple__179 = PyTuple_Pack(4, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_root); if (unlikely(!__pyx_tuple__179)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__179);
-  __Pyx_GIVEREF(__pyx_tuple__179);
-  __pyx_codeobj__180 = (PyObject*)__Pyx_PyCode_New(2, 1, 4, 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_7, __pyx_n_s_XMLDTDID, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__180)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__180 = PyTuple_Pack(4, __pyx_n_s_text, __pyx_n_s_parser, __pyx_n_s_base_url, __pyx_n_s_root); if (unlikely(!__pyx_tuple__180)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__180);
+  __Pyx_GIVEREF(__pyx_tuple__180);
+  __pyx_codeobj__181 = (PyObject*)__Pyx_PyCode_New(2, 1, 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_7, __pyx_n_s_XMLDTDID, 24, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__181)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 24; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xmlid.pxi":44
  *         return (root, _IDDict(root))
@@ -196296,10 +195951,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""parseid(source, parser=None)
  * 
  */
-  __pyx_tuple__181 = 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__181)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__181);
-  __Pyx_GIVEREF(__pyx_tuple__181);
-  __pyx_codeobj__182 = (PyObject*)__Pyx_PyCode_New(2, 1, 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_7, __pyx_n_s_parseid, 44, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__182)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__182 = 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__182)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__182);
+  __Pyx_GIVEREF(__pyx_tuple__182);
+  __pyx_codeobj__183 = (PyObject*)__Pyx_PyCode_New(2, 1, 4, 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_7, __pyx_n_s_parseid, 44, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__183)) {__pyx_filename = __pyx_f[15]; __pyx_lineno = 44; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/cleanup.pxi":3
  * # functions for tree cleanup and removing elements from subtrees
@@ -196308,10 +195963,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""cleanup_namespaces(tree_or_element)
  * 
  */
-  __pyx_tuple__183 = PyTuple_Pack(2, __pyx_n_s_tree_or_element, __pyx_n_s_element); if (unlikely(!__pyx_tuple__183)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __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, 0, 2, 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_8, __pyx_n_s_cleanup_namespaces, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__184)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__184 = PyTuple_Pack(2, __pyx_n_s_tree_or_element, __pyx_n_s_element); if (unlikely(!__pyx_tuple__184)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __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, 2, 0, 0, __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_8, __pyx_n_s_cleanup_namespaces, 3, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__185)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 3; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/cleanup.pxi":13
  *     _removeUnusedNamespaceDeclarations(element._c_node)
@@ -196320,10 +195975,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""strip_attributes(tree_or_element, *attribute_names)
  * 
  */
-  __pyx_tuple__185 = 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__185)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 13; __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, 4, 0, CO_VARARGS, __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_8, __pyx_n_s_strip_attributes, 13, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__186)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__186 = 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__186)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 13; __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, 0, 4, 0, CO_VARARGS, __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_8, __pyx_n_s_strip_attributes, 13, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__187)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/cleanup.pxi":54
  *     tree.END_FOR_EACH_ELEMENT_FROM(c_node)
@@ -196332,10 +195987,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""strip_elements(tree_or_element, *tag_names, with_tail=True)
  * 
  */
-  __pyx_tuple__187 = PyTuple_Pack(12, __pyx_n_s_tree_or_element, __pyx_n_s_with_tail, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_element, __pyx_n_s_doc_2, __pyx_n_s_ns_tags, __pyx_n_s_c_ns_tags, __pyx_n_s_c_tag_count, __pyx_n_s_strip_comments, __pyx_n_s_strip_pis, __pyx_n_s_strip_entities); if (unlikely(!__pyx_tuple__187)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 54; __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, 1, 12, 0, CO_VARARGS, __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_8, __pyx_n_s_strip_elements, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__188)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__188 = PyTuple_Pack(12, __pyx_n_s_tree_or_element, __pyx_n_s_with_tail, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_element, __pyx_n_s_doc_2, __pyx_n_s_ns_tags, __pyx_n_s_c_ns_tags, __pyx_n_s_c_tag_count, __pyx_n_s_strip_comments, __pyx_n_s_strip_pis, __pyx_n_s_strip_entities); if (unlikely(!__pyx_tuple__188)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__188);
+  __Pyx_GIVEREF(__pyx_tuple__188);
+  __pyx_codeobj__189 = (PyObject*)__Pyx_PyCode_New(1, 1, 12, 0, CO_VARARGS, __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_8, __pyx_n_s_strip_elements, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__189)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 54; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/cleanup.pxi":132
  * 
@@ -196344,10 +195999,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""strip_tags(tree_or_element, *tag_names)
  * 
  */
-  __pyx_tuple__189 = PyTuple_Pack(11, __pyx_n_s_tree_or_element, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_element, __pyx_n_s_doc_2, __pyx_n_s_ns_tags, __pyx_n_s_strip_comments, __pyx_n_s_strip_pis, __pyx_n_s_strip_entities, __pyx_n_s_c_ns_tags, __pyx_n_s_c_tag_count); if (unlikely(!__pyx_tuple__189)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__189);
-  __Pyx_GIVEREF(__pyx_tuple__189);
-  __pyx_codeobj__190 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, CO_VARARGS, __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_8, __pyx_n_s_strip_tags, 132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__190)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__190 = PyTuple_Pack(11, __pyx_n_s_tree_or_element, __pyx_n_s_tag_names, __pyx_n_s_matcher, __pyx_n_s_element, __pyx_n_s_doc_2, __pyx_n_s_ns_tags, __pyx_n_s_strip_comments, __pyx_n_s_strip_pis, __pyx_n_s_strip_entities, __pyx_n_s_c_ns_tags, __pyx_n_s_c_tag_count); if (unlikely(!__pyx_tuple__190)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__190);
+  __Pyx_GIVEREF(__pyx_tuple__190);
+  __pyx_codeobj__191 = (PyObject*)__Pyx_PyCode_New(1, 0, 11, 0, CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__190, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_8, __pyx_n_s_strip_tags, 132, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__191)) {__pyx_filename = __pyx_f[17]; __pyx_lineno = 132; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/extensions.pxi":371
  * 
@@ -196356,9 +196011,9 @@ static int __Pyx_InitCachedConstants(void) {
  *     b"Number encoding",
  *     b"Unfinished literal",
  */
-  __pyx_tuple__191 = PyTuple_Pack(24, __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); if (unlikely(!__pyx_tuple__191)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__191);
-  __Pyx_GIVEREF(__pyx_tuple__191);
+  __pyx_tuple__192 = PyTuple_Pack(24, __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); if (unlikely(!__pyx_tuple__192)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 371; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__192);
+  __Pyx_GIVEREF(__pyx_tuple__192);
 
   /* "src/lxml/extensions.pxi":426
  * 
@@ -196367,10 +196022,10 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"""Extension(module, function_mapping=None, ns=None)
  * 
  */
-  __pyx_tuple__192 = 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__192)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__192);
-  __Pyx_GIVEREF(__pyx_tuple__192);
-  __pyx_codeobj__193 = (PyObject*)__Pyx_PyCode_New(2, 1, 7, 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_9, __pyx_n_s_Extension, 426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__193)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__193 = 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__193)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__193);
+  __Pyx_GIVEREF(__pyx_tuple__193);
+  __pyx_codeobj__194 = (PyObject*)__Pyx_PyCode_New(2, 1, 7, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__193, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_home_stefan_source_Python_lxml_9, __pyx_n_s_Extension, 426, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__194)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 426; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/extensions.pxi":737
  *     # we need to use a Python class here, bytes cannot be C-subclassed
@@ -196379,10 +196034,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         return self._parent
  * 
  */
-  __pyx_tuple__194 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__194)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __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, 1, 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_9, __pyx_n_s_getparent, 737, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__195)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__195 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__195)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __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, 1, 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_9, __pyx_n_s_getparent, 737, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__196)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xpath.pxi":369
  * 
@@ -196391,10 +196046,10 @@ static int __Pyx_InitCachedConstants(void) {
  *                    regexp=True, smart_strings=True):
  *     u"""XPathEvaluator(etree_or_element, namespaces=None, extensions=None, regexp=True, smart_strings=True)
  */
-  __pyx_tuple__196 = 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__196)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__196);
-  __Pyx_GIVEREF(__pyx_tuple__196);
-  __pyx_codeobj__197 = (PyObject*)__Pyx_PyCode_New(1, 4, 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_10, __pyx_n_s_XPathEvaluator, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__197)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__197 = 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__197)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__197);
+  __Pyx_GIVEREF(__pyx_tuple__197);
+  __pyx_codeobj__198 = (PyObject*)__Pyx_PyCode_New(1, 4, 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_10, __pyx_n_s_XPathEvaluator, 369, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__198)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 369; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xpath.pxi":467
  * cdef object _replace_strings
@@ -196403,9 +196058,9 @@ static int __Pyx_InitCachedConstants(void) {
  * _find_namespaces = re.compile(b'({[^}]+})').findall
  * 
  */
-  __pyx_tuple__199 = PyTuple_Pack(1, __pyx_kp_b__198); if (unlikely(!__pyx_tuple__199)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__199);
-  __Pyx_GIVEREF(__pyx_tuple__199);
+  __pyx_tuple__200 = PyTuple_Pack(1, __pyx_kp_b__199); if (unlikely(!__pyx_tuple__200)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__200);
+  __Pyx_GIVEREF(__pyx_tuple__200);
 
   /* "src/lxml/xpath.pxi":468
  * cdef object _find_namespaces
@@ -196414,9 +196069,9 @@ static int __Pyx_InitCachedConstants(void) {
  * 
  * cdef class ETXPath(XPath):
  */
-  __pyx_tuple__201 = PyTuple_Pack(1, __pyx_kp_b__200); if (unlikely(!__pyx_tuple__201)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__201);
-  __Pyx_GIVEREF(__pyx_tuple__201);
+  __pyx_tuple__202 = PyTuple_Pack(1, __pyx_kp_b__201); if (unlikely(!__pyx_tuple__202)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__202);
+  __Pyx_GIVEREF(__pyx_tuple__202);
 
   /* "src/lxml/xslt.pxi":435
  * 
@@ -196425,10 +196080,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         u"""strparam(strval)
  * 
  */
-  __pyx_tuple__202 = PyTuple_Pack(1, __pyx_n_s_strval); if (unlikely(!__pyx_tuple__202)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__202);
-  __Pyx_GIVEREF(__pyx_tuple__202);
-  __pyx_codeobj__203 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, 0, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__202, __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__203)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__203 = PyTuple_Pack(1, __pyx_n_s_strval); if (unlikely(!__pyx_tuple__203)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__203);
+  __Pyx_GIVEREF(__pyx_tuple__203);
+  __pyx_codeobj__204 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_11, __pyx_n_s_strparam, 435, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__204)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 435; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xslt.pxi":449
  * 
@@ -196437,10 +196092,10 @@ static int __Pyx_InitCachedConstants(void) {
  *         u"""set_global_max_depth(max_depth)
  * 
  */
-  __pyx_tuple__204 = PyTuple_Pack(1, __pyx_n_s_max_depth); if (unlikely(!__pyx_tuple__204)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__204);
-  __Pyx_GIVEREF(__pyx_tuple__204);
-  __pyx_codeobj__205 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_11, __pyx_n_s_set_global_max_depth, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__205)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_tuple__205 = PyTuple_Pack(1, __pyx_n_s_max_depth); if (unlikely(!__pyx_tuple__205)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__205);
+  __Pyx_GIVEREF(__pyx_tuple__205);
+  __pyx_codeobj__206 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 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_11, __pyx_n_s_set_global_max_depth, 449, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__206)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 449; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
 
   /* "src/lxml/xslt.pxi":836
  * # XSLT PI support
@@ -196449,9 +196104,9 @@ static int __Pyx_InitCachedConstants(void) {
  * cdef object _FIND_PI_HREF = _RE_PI_HREF.findall
  * cdef object _REPLACE_PI_HREF = _RE_PI_HREF.sub
  */
-  __pyx_tuple__206 = PyTuple_Pack(1, __pyx_kp_u_s_href_s_s); if (unlikely(!__pyx_tuple__206)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__206);
-  __Pyx_GIVEREF(__pyx_tuple__206);
+  __pyx_tuple__207 = PyTuple_Pack(1, __pyx_kp_u_s_href_s_s); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__207);
+  __Pyx_GIVEREF(__pyx_tuple__207);
 
   /* "src/lxml/xmlschema.pxi":22
  * # XMLSchema
@@ -196460,9 +196115,9 @@ static int __Pyx_InitCachedConstants(void) {
  *     u"boolean(//xs:attribute[@default or @fixed][1])",
  *     namespaces={u'xs': u'http://www.w3.org/2001/XMLSchema'})
  */
-  __pyx_tuple__207 = PyTuple_Pack(1, __pyx_kp_u_boolean_xs_attribute_default_or); if (unlikely(!__pyx_tuple__207)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
-  __Pyx_GOTREF(__pyx_tuple__207);
-  __Pyx_GIVEREF(__pyx_tuple__207);
+  __pyx_tuple__208 = PyTuple_Pack(1, __pyx_kp_u_boolean_xs_attribute_default_or); if (unlikely(!__pyx_tuple__208)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __Pyx_GOTREF(__pyx_tuple__208);
+  __Pyx_GIVEREF(__pyx_tuple__208);
   __Pyx_RefNannyFinishContext();
   return 0;
   __pyx_L1_error:;
@@ -197483,6 +197138,11 @@ PyMODINIT_FUNC PyInit_etree(void)
   __pyx_type_4lxml_5etree_xmlfile.tp_print = 0;
   if (PyObject_SetAttrString(__pyx_m, "xmlfile", (PyObject *)&__pyx_type_4lxml_5etree_xmlfile) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 604; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_ptype_4lxml_5etree_xmlfile = &__pyx_type_4lxml_5etree_xmlfile;
+  __pyx_type_4lxml_5etree_htmlfile.tp_base = __pyx_ptype_4lxml_5etree_xmlfile;
+  if (PyType_Ready(&__pyx_type_4lxml_5etree_htmlfile) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_type_4lxml_5etree_htmlfile.tp_print = 0;
+  if (PyObject_SetAttrString(__pyx_m, "htmlfile", (PyObject *)&__pyx_type_4lxml_5etree_htmlfile) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 673; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_ptype_4lxml_5etree_htmlfile = &__pyx_type_4lxml_5etree_htmlfile;
   __pyx_vtabptr_4lxml_5etree__IncrementalFileWriter = &__pyx_vtable_4lxml_5etree__IncrementalFileWriter;
   __pyx_vtable_4lxml_5etree__IncrementalFileWriter._write_qname = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *, PyObject *, PyObject *))__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_qname;
   __pyx_vtable_4lxml_5etree__IncrementalFileWriter._write_start_element = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *, PyObject *))__pyx_f_4lxml_5etree_22_IncrementalFileWriter__write_start_element;
@@ -197493,11 +197153,11 @@ PyMODINIT_FUNC PyInit_etree(void)
   __pyx_vtable_4lxml_5etree__IncrementalFileWriter._collect_namespaces = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *, PyObject *))__pyx_f_4lxml_5etree_22_IncrementalFileWriter__collect_namespaces;
   __pyx_vtable_4lxml_5etree__IncrementalFileWriter._close = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *, int))__pyx_f_4lxml_5etree_22_IncrementalFileWriter__close;
   __pyx_vtable_4lxml_5etree__IncrementalFileWriter._handle_error = (PyObject *(*)(struct __pyx_obj_4lxml_5etree__IncrementalFileWriter *, int))__pyx_f_4lxml_5etree_22_IncrementalFileWriter__handle_error;
-  if (PyType_Ready(&__pyx_type_4lxml_5etree__IncrementalFileWriter) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyType_Ready(&__pyx_type_4lxml_5etree__IncrementalFileWriter) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_type_4lxml_5etree__IncrementalFileWriter.tp_print = 0;
-  if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__IncrementalFileWriter.tp_dict, __pyx_vtabptr_4lxml_5etree__IncrementalFileWriter) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 681; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (__Pyx_SetVtable(__pyx_type_4lxml_5etree__IncrementalFileWriter.tp_dict, __pyx_vtabptr_4lxml_5etree__IncrementalFileWriter) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 694; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_ptype_4lxml_5etree__IncrementalFileWriter = &__pyx_type_4lxml_5etree__IncrementalFileWriter;
-  if (PyType_Ready(&__pyx_type_4lxml_5etree__FileWriterElement) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 937; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  if (PyType_Ready(&__pyx_type_4lxml_5etree__FileWriterElement) < 0) {__pyx_filename = __pyx_f[7]; __pyx_lineno = 957; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_type_4lxml_5etree__FileWriterElement.tp_print = 0;
   __pyx_ptype_4lxml_5etree__FileWriterElement = &__pyx_type_4lxml_5etree__FileWriterElement;
   __pyx_vtabptr_4lxml_5etree_iterparse = &__pyx_vtable_4lxml_5etree_iterparse;
@@ -198725,7 +198385,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__106)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __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__107)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_getitem, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -198737,7 +198397,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__108)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __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__109)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_setitem, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 106; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -198749,7 +198409,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__110)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __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__111)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_delitem, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 109; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -198761,7 +198421,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__112)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __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__113)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_contains, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -198773,7 +198433,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__114)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __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__115)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_len, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -198785,7 +198445,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__116)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __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__117)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_iter_2, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -198941,14 +198601,12 @@ PyMODINIT_FUNC PyInit_etree(void)
   __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_10) {
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    goto __pyx_L43_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_1);
     __pyx_t_6 = __pyx_t_1;
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
     goto __pyx_L42_bool_binop_done;
   }
-  __pyx_L43_next_or:;
   __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_sys, __pyx_n_s_getdefaultencoding); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_7);
   __pyx_t_9 = NULL;
@@ -198972,21 +198630,19 @@ PyMODINIT_FUNC PyInit_etree(void)
   __pyx_t_10 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_10 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_10) {
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-    goto __pyx_L44_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_1);
     __pyx_t_6 = __pyx_t_1;
     __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
     goto __pyx_L42_bool_binop_done;
   }
-  __pyx_L44_next_or:;
   __Pyx_INCREF(__pyx_n_s_ascii);
   __pyx_t_6 = __pyx_n_s_ascii;
   __pyx_L42_bool_binop_done:;
   __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_encode); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
-  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__117, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_6);
   __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
   if (!(likely(PyBytes_CheckExact(__pyx_t_6))||((__pyx_t_6) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "bytes", Py_TYPE(__pyx_t_6)->tp_name), 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 161; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -199039,7 +198695,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  */
   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_6);
-  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__118, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__119, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_1);
   __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
   __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_match); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 180; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -199112,9 +198768,9 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__122)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __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__123)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
-  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__123);
+  __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_9, __pyx_tuple__124);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_init, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 208; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
 
@@ -199259,7 +198915,7 @@ PyMODINIT_FUNC PyInit_etree(void)
       __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_group); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L45_error;}
       __Pyx_GOTREF(__pyx_t_6);
       __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
-      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__124, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L45_error;}
+      __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__125, NULL); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 263; __pyx_clineno = __LINE__; goto __pyx_L45_error;}
       __Pyx_GOTREF(__pyx_t_1);
       __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
 
@@ -199584,7 +199240,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  * 
  * cdef _BaseErrorLog _getGlobalErrorLog():
  */
-  __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree__RotatingErrorLog)), __pyx_tuple__126, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree__RotatingErrorLog)), __pyx_tuple__127, NULL); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 545; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_8);
   __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_8));
@@ -199706,10 +199362,10 @@ PyMODINIT_FUNC PyInit_etree(void)
  * NONE=0
  * WARNING=1
  */
-  __Pyx_INCREF(__pyx_tuple__129);
+  __Pyx_INCREF(__pyx_tuple__130);
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree___ERROR_LEVELS);
-  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_LEVELS, __pyx_tuple__129);
-  __Pyx_GIVEREF(__pyx_tuple__129);
+  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_LEVELS, __pyx_tuple__130);
+  __Pyx_GIVEREF(__pyx_tuple__130);
 
   /* "src/lxml/xmlerror.pxi":746
  * """,)
@@ -199718,10 +199374,10 @@ PyMODINIT_FUNC PyInit_etree(void)
  * NONE=0
  * PARSER=1
  */
-  __Pyx_INCREF(__pyx_tuple__130);
+  __Pyx_INCREF(__pyx_tuple__131);
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree___ERROR_DOMAINS);
-  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_DOMAINS, __pyx_tuple__130);
-  __Pyx_GIVEREF(__pyx_tuple__130);
+  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___ERROR_DOMAINS, __pyx_tuple__131);
+  __Pyx_GIVEREF(__pyx_tuple__131);
 
   /* "src/lxml/xmlerror.pxi":780
  * """,)
@@ -199730,10 +199386,10 @@ PyMODINIT_FUNC PyInit_etree(void)
  * ERR_OK=0
  * ERR_INTERNAL_ERROR=1
  */
-  __Pyx_INCREF(__pyx_tuple__131);
+  __Pyx_INCREF(__pyx_tuple__132);
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree___PARSER_ERROR_TYPES);
-  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___PARSER_ERROR_TYPES, __pyx_tuple__131);
-  __Pyx_GIVEREF(__pyx_tuple__131);
+  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___PARSER_ERROR_TYPES, __pyx_tuple__132);
+  __Pyx_GIVEREF(__pyx_tuple__132);
 
   /* "src/lxml/xmlerror.pxi":1537
  * """,)
@@ -199742,10 +199398,10 @@ PyMODINIT_FUNC PyInit_etree(void)
  * RELAXNG_OK=0
  * RELAXNG_ERR_MEMORY=1
  */
-  __Pyx_INCREF(__pyx_tuple__132);
+  __Pyx_INCREF(__pyx_tuple__133);
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES);
-  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES, __pyx_tuple__132);
-  __Pyx_GIVEREF(__pyx_tuple__132);
+  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree___RELAXNG_ERROR_TYPES, __pyx_tuple__133);
+  __Pyx_GIVEREF(__pyx_tuple__133);
 
   /* "src/lxml/xmlerror.pxi":1581
  * # --- END: GENERATED CONSTANTS ---
@@ -200184,7 +199840,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         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__170)); 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__171)); 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_7, __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;
@@ -200427,10 +200083,10 @@ PyMODINIT_FUNC PyInit_etree(void)
  * 
  * 
  */
-  __Pyx_INCREF(__pyx_tuple__174);
+  __Pyx_INCREF(__pyx_tuple__175);
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree_NS_END_EVENT);
-  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_NS_END_EVENT, __pyx_tuple__174);
-  __Pyx_GIVEREF(__pyx_tuple__174);
+  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_NS_END_EVENT, __pyx_tuple__175);
+  __Pyx_GIVEREF(__pyx_tuple__175);
 
   /* "src/lxml/parsertarget.pxi":4
  * 
@@ -200480,7 +200136,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         self.result = result
  * 
  */
-  __pyx_t_9 = __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__176)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_9 = __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__177)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_init, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[13]; __pyx_lineno = 10; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -200771,10 +200427,10 @@ PyMODINIT_FUNC PyInit_etree(void)
  *     b"Number encoding",
  *     b"Unfinished literal",
  */
-  __Pyx_INCREF(__pyx_tuple__191);
+  __Pyx_INCREF(__pyx_tuple__192);
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree_LIBXML2_XPATH_ERROR_MESSAGES);
-  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_LIBXML2_XPATH_ERROR_MESSAGES, __pyx_tuple__191);
-  __Pyx_GIVEREF(__pyx_tuple__191);
+  __Pyx_DECREF_SET(__pyx_v_4lxml_5etree_LIBXML2_XPATH_ERROR_MESSAGES, __pyx_tuple__192);
+  __Pyx_GIVEREF(__pyx_tuple__192);
 
   /* "src/lxml/extensions.pxi":426
  * 
@@ -200812,7 +200468,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *         return self._parent
  * 
  */
-  __pyx_t_9 = __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__195)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_9 = __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__196)); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_9);
   if (PyObject_SetItem(__pyx_t_7, __pyx_n_s_getparent, __pyx_t_9) < 0) {__pyx_filename = __pyx_f[8]; __pyx_lineno = 737; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
@@ -201094,7 +200750,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  */
   __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); 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_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__199, NULL); 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_Call(__pyx_t_16, __pyx_tuple__200, NULL); 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_DECREF(__pyx_t_16); __pyx_t_16 = 0;
   __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_sub); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 467; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -201114,7 +200770,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  */
   __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); 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_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__201, NULL); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_15 = __Pyx_PyObject_Call(__pyx_t_16, __pyx_tuple__202, NULL); 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_DECREF(__pyx_t_16); __pyx_t_16 = 0;
   __pyx_t_16 = __Pyx_PyObject_GetAttrStr(__pyx_t_15, __pyx_n_s_findall); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[18]; __pyx_lineno = 468; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -201544,7 +201200,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  */
   __pyx_t_15 = __Pyx_PyObject_GetAttrStr(__pyx_v_4lxml_5etree_re, __pyx_n_s_compile); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_15);
-  __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__206, NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_16 = __Pyx_PyObject_Call(__pyx_t_15, __pyx_tuple__207, NULL); if (unlikely(!__pyx_t_16)) {__pyx_filename = __pyx_f[2]; __pyx_lineno = 836; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_16);
   __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
   __Pyx_XGOTREF(__pyx_v_4lxml_5etree__RE_PI_HREF);
@@ -201882,7 +201538,7 @@ PyMODINIT_FUNC PyInit_etree(void)
  *     u"boolean(//xs:attribute[@default or @fixed][1])",
  *     namespaces={u'xs': u'http://www.w3.org/2001/XMLSchema'})
  */
-  __pyx_t_15 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_XPath)), __pyx_tuple__207, __pyx_t_16); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
+  __pyx_t_15 = __Pyx_PyObject_Call(((PyObject *)((PyObject*)__pyx_ptype_4lxml_5etree_XPath)), __pyx_tuple__208, __pyx_t_16); if (unlikely(!__pyx_t_15)) {__pyx_filename = __pyx_f[22]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __Pyx_GOTREF(__pyx_t_15);
   __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0;
   __Pyx_XGOTREF(((PyObject *)__pyx_v_4lxml_5etree__check_for_default_attributes));
@@ -202006,7 +201662,6 @@ PyMODINIT_FUNC PyInit_etree(void)
   if (__pyx_m) {
     if (__pyx_d) {
       __Pyx_AddTraceback("init lxml.etree", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      Py_DECREF(__pyx_d); __pyx_d = 0;
     }
     Py_DECREF(__pyx_m); __pyx_m = 0;
   } else if (!PyErr_Occurred()) {
@@ -202065,13 +201720,13 @@ static void __Pyx_CleanupGlobals(void) {
   Py_CLEAR(__pyx_tuple__58);
   Py_CLEAR(__pyx_tuple__59);
   Py_CLEAR(__pyx_tuple__60);
-  Py_CLEAR(__pyx_tuple__62);
-  Py_CLEAR(__pyx_tuple__66);
-  Py_CLEAR(__pyx_slice__67);
+  Py_CLEAR(__pyx_tuple__61);
+  Py_CLEAR(__pyx_tuple__63);
+  Py_CLEAR(__pyx_tuple__67);
   Py_CLEAR(__pyx_slice__68);
-  Py_CLEAR(__pyx_tuple__69);
-  Py_CLEAR(__pyx_slice__70);
-  Py_CLEAR(__pyx_tuple__72);
+  Py_CLEAR(__pyx_slice__69);
+  Py_CLEAR(__pyx_tuple__70);
+  Py_CLEAR(__pyx_slice__71);
   Py_CLEAR(__pyx_tuple__73);
   Py_CLEAR(__pyx_tuple__74);
   Py_CLEAR(__pyx_tuple__75);
@@ -202084,14 +201739,14 @@ static void __Pyx_CleanupGlobals(void) {
   Py_CLEAR(__pyx_tuple__82);
   Py_CLEAR(__pyx_tuple__83);
   Py_CLEAR(__pyx_tuple__84);
-  Py_CLEAR(__pyx_slice__85);
+  Py_CLEAR(__pyx_tuple__85);
   Py_CLEAR(__pyx_slice__86);
-  Py_CLEAR(__pyx_tuple__87);
+  Py_CLEAR(__pyx_slice__87);
   Py_CLEAR(__pyx_tuple__88);
   Py_CLEAR(__pyx_tuple__89);
-  Py_CLEAR(__pyx_slice__90);
-  Py_CLEAR(__pyx_tuple__91);
-  Py_CLEAR(__pyx_tuple__93);
+  Py_CLEAR(__pyx_tuple__90);
+  Py_CLEAR(__pyx_slice__91);
+  Py_CLEAR(__pyx_tuple__92);
   Py_CLEAR(__pyx_tuple__94);
   Py_CLEAR(__pyx_tuple__95);
   Py_CLEAR(__pyx_tuple__96);
@@ -202104,106 +201759,107 @@ static void __Pyx_CleanupGlobals(void) {
   Py_CLEAR(__pyx_tuple__103);
   Py_CLEAR(__pyx_tuple__104);
   Py_CLEAR(__pyx_tuple__105);
-  Py_CLEAR(__pyx_codeobj__106);
-  Py_CLEAR(__pyx_tuple__107);
-  Py_CLEAR(__pyx_codeobj__108);
-  Py_CLEAR(__pyx_tuple__109);
-  Py_CLEAR(__pyx_codeobj__110);
-  Py_CLEAR(__pyx_tuple__111);
-  Py_CLEAR(__pyx_codeobj__112);
-  Py_CLEAR(__pyx_tuple__113);
-  Py_CLEAR(__pyx_codeobj__114);
-  Py_CLEAR(__pyx_tuple__115);
-  Py_CLEAR(__pyx_codeobj__116);
-  Py_CLEAR(__pyx_tuple__117);
+  Py_CLEAR(__pyx_tuple__106);
+  Py_CLEAR(__pyx_codeobj__107);
+  Py_CLEAR(__pyx_tuple__108);
+  Py_CLEAR(__pyx_codeobj__109);
+  Py_CLEAR(__pyx_tuple__110);
+  Py_CLEAR(__pyx_codeobj__111);
+  Py_CLEAR(__pyx_tuple__112);
+  Py_CLEAR(__pyx_codeobj__113);
+  Py_CLEAR(__pyx_tuple__114);
+  Py_CLEAR(__pyx_codeobj__115);
+  Py_CLEAR(__pyx_tuple__116);
+  Py_CLEAR(__pyx_codeobj__117);
   Py_CLEAR(__pyx_tuple__118);
   Py_CLEAR(__pyx_tuple__119);
-  Py_CLEAR(__pyx_codeobj__120);
-  Py_CLEAR(__pyx_tuple__121);
-  Py_CLEAR(__pyx_codeobj__122);
-  Py_CLEAR(__pyx_tuple__123);
+  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_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_tuple__128);
+  Py_CLEAR(__pyx_codeobj__129);
   Py_CLEAR(__pyx_tuple__130);
   Py_CLEAR(__pyx_tuple__131);
   Py_CLEAR(__pyx_tuple__132);
   Py_CLEAR(__pyx_tuple__133);
-  Py_CLEAR(__pyx_codeobj__134);
-  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_codeobj__142);
-  Py_CLEAR(__pyx_tuple__143);
-  Py_CLEAR(__pyx_codeobj__144);
-  Py_CLEAR(__pyx_tuple__145);
-  Py_CLEAR(__pyx_codeobj__146);
-  Py_CLEAR(__pyx_tuple__147);
-  Py_CLEAR(__pyx_codeobj__148);
-  Py_CLEAR(__pyx_tuple__149);
-  Py_CLEAR(__pyx_codeobj__150);
-  Py_CLEAR(__pyx_tuple__151);
-  Py_CLEAR(__pyx_codeobj__152);
-  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_codeobj__158);
-  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_codeobj__166);
-  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_codeobj__172);
+  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_codeobj__139);
+  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_codeobj__145);
+  Py_CLEAR(__pyx_tuple__146);
+  Py_CLEAR(__pyx_codeobj__147);
+  Py_CLEAR(__pyx_tuple__148);
+  Py_CLEAR(__pyx_codeobj__149);
+  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_codeobj__155);
+  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_codeobj__163);
+  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_codeobj__169);
+  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_codeobj__174);
   Py_CLEAR(__pyx_tuple__175);
-  Py_CLEAR(__pyx_codeobj__176);
-  Py_CLEAR(__pyx_tuple__177);
-  Py_CLEAR(__pyx_codeobj__178);
-  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_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_codeobj__191);
   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__199);
-  Py_CLEAR(__pyx_tuple__201);
+  Py_CLEAR(__pyx_tuple__193);
+  Py_CLEAR(__pyx_codeobj__194);
+  Py_CLEAR(__pyx_tuple__195);
+  Py_CLEAR(__pyx_codeobj__196);
+  Py_CLEAR(__pyx_tuple__197);
+  Py_CLEAR(__pyx_codeobj__198);
+  Py_CLEAR(__pyx_tuple__200);
   Py_CLEAR(__pyx_tuple__202);
-  Py_CLEAR(__pyx_codeobj__203);
-  Py_CLEAR(__pyx_tuple__204);
-  Py_CLEAR(__pyx_codeobj__205);
-  Py_CLEAR(__pyx_tuple__206);
+  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__208);
   if (__pyx_code_cache.entries) {
       __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries;
       int i, count = __pyx_code_cache.count;
@@ -202698,6 +202354,13 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
     }
     PyErr_SetObject(type, value);
     if (tb) {
+#if CYTHON_COMPILING_IN_PYPY
+        PyObject *tmp_type, *tmp_value, *tmp_tb;
+        PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
+        Py_INCREF(tb);
+        PyErr_Restore(tmp_type, tmp_value, tb);
+        Py_XDECREF(tmp_tb);
+#else
         PyThreadState *tstate = PyThreadState_GET();
         PyObject* tmp_tb = tstate->curexc_traceback;
         if (tb != tmp_tb) {
@@ -202705,6 +202368,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
             tstate->curexc_traceback = tb;
             Py_XDECREF(tmp_tb);
         }
+#endif
     }
 bad:
     Py_XDECREF(owned_instance);
@@ -204493,12 +204157,11 @@ static PyObject *__Pyx_CyFunction_descr_get(PyObject *func, PyObject *obj, PyObj
     if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
         if (type == NULL)
             type = (PyObject *)(Py_TYPE(obj));
-        return PyMethod_New(func,
-                            type, (PyObject *)(Py_TYPE(type)));
+        return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
     }
     if (obj == Py_None)
         obj = NULL;
-    return PyMethod_New(func, obj, type);
+    return __Pyx_PyMethod_New(func, obj, type);
 }
 static PyObject*
 __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
index e236ab64273b24cbbeea9bb40e65f31fee82b1f6..54d6eb5f1504624733924a903cf7bd2f2c6ca60e 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by Cython 0.21 */
+/* Generated by Cython 0.21.1 */
 
 #define PY_SSIZE_T_CLEAN
 #ifndef CYTHON_USE_PYLONG_INTERNALS
@@ -19,7 +19,7 @@
 #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_21"
+#define CYTHON_ABI "0_21_1"
 #include <stddef.h>
 #ifndef offsetof
 #define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
@@ -73,8 +73,6 @@
 #if PY_MAJOR_VERSION >= 3
   #define Py_TPFLAGS_CHECKTYPES 0
   #define Py_TPFLAGS_HAVE_INDEX 0
-#endif
-#if PY_MAJOR_VERSION >= 3
   #define Py_TPFLAGS_HAVE_NEWBUFFER 0
 #endif
 #if PY_VERSION_HEX < 0x030400a1 && !defined(Py_TPFLAGS_HAVE_FINALIZE)
 #if CYTHON_COMPILING_IN_PYPY
   #define __Pyx_PyUnicode_Concat(a, b)      PyNumber_Add(a, b)
   #define __Pyx_PyUnicode_ConcatSafe(a, b)  PyNumber_Add(a, b)
+  #define __Pyx_PyFrozenSet_Size(s)         PyObject_Size(s)
 #else
   #define __Pyx_PyUnicode_Concat(a, b)      PyUnicode_Concat(a, b)
   #define __Pyx_PyUnicode_ConcatSafe(a, b)  ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ? \
       PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
+  #define __Pyx_PyFrozenSet_Size(s)         PySet_Size(s)
 #endif
 #define __Pyx_PyString_FormatSafe(a, b)   ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
 #define __Pyx_PyUnicode_FormatSafe(a, b)  ((unlikely((a) == Py_None)) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
 #if PY_MAJOR_VERSION >= 3
   #define PyBoolObject                 PyLongObject
 #endif
+#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
+  #ifndef PyUnicode_InternFromString
+    #define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
+  #endif
+#endif
 #if PY_VERSION_HEX < 0x030200A4
   typedef long Py_hash_t;
   #define __Pyx_PyInt_FromHash_t PyInt_FromLong
   #define __Pyx_PyInt_AsHash_t   PyInt_AsSsize_t
 #endif
 #if PY_MAJOR_VERSION >= 3
-  #define PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
+  #define __Pyx_PyMethod_New(func, self, klass) ((self) ? PyMethod_New(func, self) : PyInstanceMethod_New(func))
+#else
+  #define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
 #endif
 #ifndef CYTHON_INLINE
   #if defined(__GNUC__)
@@ -2566,14 +2573,12 @@ static PyObject *__pyx_pf_4lxml_9objectify_18ObjectifiedElement_2__str__(struct
     __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 146; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_1) {
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
-      goto __pyx_L5_next_or;
     } else {
       __Pyx_INCREF(__pyx_t_3);
       __pyx_t_2 = __pyx_t_3;
       __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
       goto __pyx_L4_bool_binop_done;
     }
-    __pyx_L5_next_or:;
     __Pyx_INCREF(__pyx_kp_u_);
     __pyx_t_2 = __pyx_kp_u_;
     __pyx_L4_bool_binop_done:;
@@ -2934,12 +2939,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_18ObjectifiedElement_8__dict_____get_
  */
     __pyx_t_8 = ((__pyx_v_c_ns == NULL) != 0);
     if (__pyx_t_8) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_7 = __pyx_t_8;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_8 = ((_getNs(__pyx_v_child->_c_node) != NULL) != 0);
     __pyx_t_7 = __pyx_t_8;
     __pyx_L6_bool_binop_done:;
@@ -3571,12 +3574,10 @@ static int __pyx_pf_4lxml_9objectify_18ObjectifiedElement_14__setattr__(struct _
  */
   __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_tag, __pyx_n_u_text, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_2) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_2 = (__Pyx_PyUnicode_Equals(__pyx_v_tag, __pyx_n_u_pyval, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 227; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -5113,12 +5114,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_18ObjectifiedElement_26descendantpath
   __pyx_t_2 = (__pyx_v_prefix != Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_3 = ((!(_isString(__pyx_v_prefix) != 0)) != 0);
   __pyx_t_1 = __pyx_t_3;
   __pyx_L4_bool_binop_done:;
@@ -5363,12 +5362,10 @@ static Py_ssize_t __pyx_f_4lxml_9objectify__countSiblings(xmlNode *__pyx_v_c_sta
  */
     __pyx_t_4 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
     if (__pyx_t_4) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
 
     /* "src/lxml/lxml.objectify.pyx":386
  *     while c_node is not NULL:
@@ -5435,12 +5432,10 @@ static Py_ssize_t __pyx_f_4lxml_9objectify__countSiblings(xmlNode *__pyx_v_c_sta
  */
     __pyx_t_4 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
     if (__pyx_t_4) {
-      goto __pyx_L12_next_and;
     } else {
       __pyx_t_3 = __pyx_t_4;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_and:;
 
     /* "src/lxml/lxml.objectify.pyx":392
  *     while c_node is not NULL:
@@ -5579,12 +5574,10 @@ static xmlNode *__pyx_f_4lxml_9objectify__findFollowingSibling(xmlNode *__pyx_v_
  */
     __pyx_t_2 = ((__pyx_v_c_node->type == XML_ELEMENT_NODE) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L8_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L7_bool_binop_done;
     }
-    __pyx_L8_next_and:;
 
     /* "src/lxml/lxml.objectify.pyx":408
  *     while c_node is not NULL:
@@ -5798,12 +5791,10 @@ static PyObject *__pyx_f_4lxml_9objectify__lookupChild(struct LxmlElement *__pyx
  */
     __pyx_t_8 = _getNs(__pyx_v_c_node);
     if (!__pyx_t_8) {
-      goto __pyx_L6_next_or;
     } else {
       __pyx_t_7 = __pyx_t_8;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_or:;
     __pyx_t_8 = ((const xmlChar *)((unsigned char *)__pyx_k_));
     __pyx_t_7 = __pyx_t_8;
     __pyx_L5_bool_binop_done:;
@@ -6200,12 +6191,10 @@ static PyObject *__pyx_f_4lxml_9objectify__replaceElement(struct LxmlElement *__
   __pyx_t_1 = PyList_Check(__pyx_v_value); 
   __pyx_t_5 = (__pyx_t_1 != 0);
   if (!__pyx_t_5) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_5;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_5 = PyTuple_Check(__pyx_v_value); 
   __pyx_t_1 = (__pyx_t_5 != 0);
   __pyx_t_2 = __pyx_t_1;
@@ -6464,12 +6453,10 @@ static PyObject *__pyx_f_4lxml_9objectify__appendValue(struct LxmlElement *__pyx
   __pyx_t_1 = PyList_Check(__pyx_v_value); 
   __pyx_t_6 = (__pyx_t_1 != 0);
   if (!__pyx_t_6) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_2 = __pyx_t_6;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_6 = PyTuple_Check(__pyx_v_value); 
   __pyx_t_1 = (__pyx_t_6 != 0);
   __pyx_t_2 = __pyx_t_1;
@@ -7213,12 +7200,10 @@ static PyObject *__pyx_f_4lxml_9objectify__setSlice(PyObject *__pyx_v_sliceobjec
  */
   __pyx_t_2 = ((__pyx_v_c_step != 1) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L10_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L9_bool_binop_done;
   }
-  __pyx_L10_next_and:;
 
   /* "src/lxml/lxml.objectify.pyx":538
  *     # sanity check - raise what a list would raise
@@ -7345,12 +7330,10 @@ static PyObject *__pyx_f_4lxml_9objectify__setSlice(PyObject *__pyx_v_sliceobjec
   while (1) {
     __pyx_t_2 = ((__pyx_v_pos < PyList_GET_SIZE(__pyx_v_new_items)) != 0);
     if (__pyx_t_2) {
-      goto __pyx_L14_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L13_bool_binop_done;
     }
-    __pyx_L14_next_and:;
 
     /* "src/lxml/lxml.objectify.pyx":549
  *     replace = parent.replace
@@ -7892,14 +7875,12 @@ static PyObject *__pyx_pf_4lxml_9objectify_22ObjectifiedDataElement___str__(stru
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 595; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_3) {
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L4_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_2);
     __pyx_t_1 = __pyx_t_2;
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_or:;
   __Pyx_INCREF(__pyx_kp_u_);
   __pyx_t_1 = __pyx_kp_u_;
   __pyx_L3_bool_binop_done:;
@@ -7972,14 +7953,12 @@ static PyObject *__pyx_pf_4lxml_9objectify_22ObjectifiedDataElement_2__repr__(st
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 598; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_3) {
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L4_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_2);
     __pyx_t_1 = __pyx_t_2;
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_or:;
   __Pyx_INCREF(__pyx_kp_u_);
   __pyx_t_1 = __pyx_kp_u_;
   __pyx_L3_bool_binop_done:;
@@ -10351,14 +10330,12 @@ static PyObject *__pyx_pf_4lxml_9objectify_13StringElement_5pyval___get__(struct
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 724; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_3) {
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L4_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_2);
     __pyx_t_1 = __pyx_t_2;
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_or:;
   __Pyx_INCREF(__pyx_kp_u_);
   __pyx_t_1 = __pyx_kp_u_;
   __pyx_L3_bool_binop_done:;
@@ -10431,14 +10408,12 @@ static PyObject *__pyx_pf_4lxml_9objectify_13StringElement___repr__(struct __pyx
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 727; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_3) {
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L4_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_2);
     __pyx_t_1 = __pyx_t_2;
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_or:;
   __Pyx_INCREF(__pyx_kp_u_);
   __pyx_t_1 = __pyx_kp_u_;
   __pyx_L3_bool_binop_done:;
@@ -10747,14 +10722,12 @@ static Py_hash_t __pyx_pf_4lxml_9objectify_13StringElement_8__hash__(struct __py
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 743; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (!__pyx_t_3) {
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
-    goto __pyx_L4_next_or;
   } else {
     __Pyx_INCREF(__pyx_t_2);
     __pyx_t_1 = __pyx_t_2;
     __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
     goto __pyx_L3_bool_binop_done;
   }
-  __pyx_L4_next_or:;
   __Pyx_INCREF(__pyx_kp_u_);
   __pyx_t_1 = __pyx_kp_u_;
   __pyx_L3_bool_binop_done:;
@@ -11608,12 +11581,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_11NoneElement_6__richcmp__(PyObject *
   __pyx_t_2 = (__pyx_v_other == Py_None);
   __pyx_t_3 = (__pyx_t_2 != 0);
   if (!__pyx_t_3) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_1 = __pyx_t_3;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_3 = (__pyx_v_self == Py_None);
   __pyx_t_2 = (__pyx_t_3 != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -12823,14 +12794,12 @@ static PyObject *__pyx_f_4lxml_9objectify__strValueOf(PyObject *__pyx_v_obj) {
     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 864; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_2) {
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
-      goto __pyx_L6_next_or;
     } else {
       __Pyx_INCREF(__pyx_t_4);
       __pyx_t_3 = __pyx_t_4;
       __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
       goto __pyx_L5_bool_binop_done;
     }
-    __pyx_L6_next_or:;
     __Pyx_INCREF(__pyx_kp_u_);
     __pyx_t_3 = __pyx_kp_u_;
     __pyx_L5_bool_binop_done:;
@@ -13290,12 +13259,10 @@ static int __pyx_pf_4lxml_9objectify_6PyType___init__(struct __pyx_obj_4lxml_9ob
   __pyx_t_2 = (__pyx_v_type_check != Py_None);
   __pyx_t_4 = (__pyx_t_2 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_1 = __pyx_t_4;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_4 = __Pyx_PyCallable_Check(__pyx_v_type_check); if (unlikely(__pyx_t_4 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 915; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = ((!(__pyx_t_4 != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
@@ -13322,12 +13289,10 @@ static int __pyx_pf_4lxml_9objectify_6PyType___init__(struct __pyx_obj_4lxml_9ob
  */
   __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 = 917; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   if (__pyx_t_2) {
-    goto __pyx_L9_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L8_bool_binop_done;
   }
-  __pyx_L9_next_and:;
 
   /* "src/lxml/lxml.objectify.pyx":918
  *             raise TypeError, u"Type check function must be callable (or None)"
@@ -13820,12 +13785,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_6PyType_4register(struct __pyx_obj_4l
  */
     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_before); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_2) {
-      goto __pyx_L10_next_or;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L9_bool_binop_done;
     }
-    __pyx_L10_next_or:;
     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_after); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 952; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_1 = __pyx_t_2;
     __pyx_L9_bool_binop_done:;
@@ -13968,12 +13931,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_6PyType_4register(struct __pyx_obj_4l
         __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
         if (__pyx_t_2) {
-          goto __pyx_L18_next_and;
         } else {
           __pyx_t_1 = __pyx_t_2;
           goto __pyx_L17_bool_binop_done;
         }
-        __pyx_L18_next_and:;
         __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 = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_GOTREF(__pyx_t_6);
         __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_t_6, __pyx_v_before, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 958; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -17252,12 +17213,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_28_ObjectifyElementMakerCaller___call
  */
   __pyx_t_2 = (__pyx_v_self->_annotate != 0);
   if (__pyx_t_2) {
-    goto __pyx_L19_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L18_bool_binop_done;
   }
-  __pyx_L19_next_and:;
   __pyx_t_2 = ((!(__pyx_v_has_children != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L18_bool_binop_done:;
@@ -17845,12 +17804,10 @@ static PyObject *__pyx_f_4lxml_9objectify_12ElementMaker__build_element_maker(st
   __pyx_t_3 = (__pyx_v_self->_namespace != Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __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 = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;};
   __Pyx_GOTREF(__pyx_t_1);
   __pyx_t_4 = (__Pyx_PyUnicode_Equals(__pyx_t_1, __pyx_kp_u__8, Py_NE)); if (unlikely(__pyx_t_4 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1254; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
@@ -20027,12 +19984,10 @@ static PyObject *__pyx_f_4lxml_9objectify__lookupElementClass(PyObject *__pyx_v_
  */
     __pyx_t_3 = ((__pyx_v_dict_result == NULL) != 0);
     if (__pyx_t_3) {
-      goto __pyx_L11_next_and;
     } else {
       __pyx_t_2 = __pyx_t_3;
       goto __pyx_L10_bool_binop_done;
     }
-    __pyx_L11_next_and:;
     __pyx_t_3 = (__Pyx_PySequence_Contains(__pyx_kp_u__11, __pyx_v_value, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1411; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_4 = (__pyx_t_3 != 0);
     __pyx_t_2 = __pyx_t_4;
@@ -20192,12 +20147,10 @@ static PyObject *__pyx_f_4lxml_9objectify__lookupElementClass(PyObject *__pyx_v_
  */
   __pyx_t_2 = ((__pyx_v_c_node->parent == NULL) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L18_next_or;
   } else {
     __pyx_t_4 = __pyx_t_2;
     goto __pyx_L17_bool_binop_done;
   }
-  __pyx_L18_next_or:;
   __pyx_t_2 = ((!(_isElement(__pyx_v_c_node->parent) != 0)) != 0);
   __pyx_t_4 = __pyx_t_2;
   __pyx_L17_bool_binop_done:;
@@ -20953,7 +20906,7 @@ static PyObject *__pyx_f_4lxml_9objectify__annotate(struct LxmlElement *__pyx_v_
   struct __pyx_obj_4lxml_9objectify_PyType *__pyx_v_empty_pytype = 0;
   struct __pyx_obj_4lxml_9objectify_PyType *__pyx_v_StrType = 0;
   struct __pyx_obj_4lxml_9objectify_PyType *__pyx_v_NoneType = 0;
-  void *__pyx_v_dict_result;
+  PyObject *__pyx_v_dict_result;
   PyObject *__pyx_r = NULL;
   __Pyx_RefNannyDeclarations
   int __pyx_t_1;
@@ -20977,12 +20930,10 @@ static PyObject *__pyx_f_4lxml_9objectify__annotate(struct LxmlElement *__pyx_v_
  */
   __pyx_t_2 = ((!(__pyx_v_annotate_xsi != 0)) != 0);
   if (__pyx_t_2) {
-    goto __pyx_L5_next_and;
   } else {
     __pyx_t_1 = __pyx_t_2;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_and:;
   __pyx_t_2 = ((!(__pyx_v_annotate_pytype != 0)) != 0);
   __pyx_t_1 = __pyx_t_2;
   __pyx_L4_bool_binop_done:;
@@ -21381,12 +21332,10 @@ static int __pyx_f_4lxml_9objectify__annotate_element(xmlNode *__pyx_v_c_node, s
   __pyx_t_3 = (((PyObject *)__pyx_v_pytype) == Py_None);
   __pyx_t_4 = (__pyx_t_3 != 0);
   if (__pyx_t_4) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_4;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_4 = ((!(__pyx_v_ignore_xsi != 0)) != 0);
   __pyx_t_2 = __pyx_t_4;
   __pyx_L5_bool_binop_done:;
@@ -21444,12 +21393,10 @@ static int __pyx_f_4lxml_9objectify__annotate_element(xmlNode *__pyx_v_c_node, s
  */
       __pyx_t_2 = ((__pyx_v_dict_result == NULL) != 0);
       if (__pyx_t_2) {
-        goto __pyx_L10_next_and;
       } else {
         __pyx_t_4 = __pyx_t_2;
         goto __pyx_L9_bool_binop_done;
       }
-      __pyx_L10_next_and:;
       __pyx_t_2 = (__Pyx_PySequence_Contains(__pyx_kp_u__11, __pyx_v_typename, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1594; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_t_3 = (__pyx_t_2 != 0);
       __pyx_t_4 = __pyx_t_3;
@@ -21637,12 +21584,10 @@ static int __pyx_f_4lxml_9objectify__annotate_element(xmlNode *__pyx_v_c_node, s
   __pyx_t_3 = (((PyObject *)__pyx_v_pytype) == Py_None);
   __pyx_t_2 = (__pyx_t_3 != 0);
   if (__pyx_t_2) {
-    goto __pyx_L18_next_and;
   } else {
     __pyx_t_4 = __pyx_t_2;
     goto __pyx_L17_bool_binop_done;
   }
-  __pyx_L18_next_and:;
   __pyx_t_2 = ((!(__pyx_v_ignore_pytype != 0)) != 0);
   __pyx_t_4 = __pyx_t_2;
   __pyx_L17_bool_binop_done:;
@@ -22057,12 +22002,10 @@ static int __pyx_f_4lxml_9objectify__annotate_element(xmlNode *__pyx_v_c_node, s
     __pyx_t_2 = (__pyx_v_typename == Py_None);
     __pyx_t_3 = (__pyx_t_2 != 0);
     if (!__pyx_t_3) {
-      goto __pyx_L37_next_or;
     } else {
       __pyx_t_4 = __pyx_t_3;
       goto __pyx_L36_bool_binop_done;
     }
-    __pyx_L37_next_or:;
     __pyx_t_3 = (__pyx_v_istree != 0);
     __pyx_t_4 = __pyx_t_3;
     __pyx_L36_bool_binop_done:;
@@ -22198,12 +22141,10 @@ static int __pyx_f_4lxml_9objectify__annotate_element(xmlNode *__pyx_v_c_node, s
  */
           __pyx_t_4 = ((__pyx_v_c_ns->prefix == NULL) != 0);
           if (!__pyx_t_4) {
-            goto __pyx_L44_next_or;
           } else {
             __pyx_t_3 = __pyx_t_4;
             goto __pyx_L43_bool_binop_done;
           }
-          __pyx_L44_next_or:;
           __pyx_t_4 = (((__pyx_v_c_ns->prefix[0]) == '\x00') != 0);
           __pyx_t_3 = __pyx_t_4;
           __pyx_L43_bool_binop_done:;
@@ -22263,12 +22204,10 @@ static int __pyx_f_4lxml_9objectify__annotate_element(xmlNode *__pyx_v_c_node, s
  */
         __pyx_t_4 = ((__pyx_v_c_ns->prefix != NULL) != 0);
         if (__pyx_t_4) {
-          goto __pyx_L46_next_and;
         } else {
           __pyx_t_3 = __pyx_t_4;
           goto __pyx_L45_bool_binop_done;
         }
-        __pyx_L46_next_and:;
         __pyx_t_4 = (((__pyx_v_c_ns->prefix[0]) != '\x00') != 0);
         __pyx_t_3 = __pyx_t_4;
         __pyx_L45_bool_binop_done:;
@@ -24133,12 +24072,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
   __pyx_t_1 = (__pyx_v_attrib != Py_None);
   __pyx_t_3 = (__pyx_t_1 != 0);
   if (__pyx_t_3) {
-    goto __pyx_L6_next_and;
   } else {
     __pyx_t_2 = __pyx_t_3;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_and:;
   __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_attrib); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1884; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = __pyx_t_3;
   __pyx_L5_bool_binop_done:;
@@ -24256,21 +24193,17 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
       __pyx_t_3 = (__pyx_v__xsi == Py_None);
       __pyx_t_1 = (__pyx_t_3 != 0);
       if (__pyx_t_1) {
-        goto __pyx_L12_next_and;
       } else {
         __pyx_t_2 = __pyx_t_1;
         goto __pyx_L11_bool_binop_done;
       }
-      __pyx_L12_next_and:;
       __pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v__attributes); if (unlikely(__pyx_t_1 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1891; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
       __pyx_t_3 = ((!__pyx_t_1) != 0);
       if (__pyx_t_3) {
-        goto __pyx_L13_next_and;
       } else {
         __pyx_t_2 = __pyx_t_3;
         goto __pyx_L11_bool_binop_done;
       }
-      __pyx_L13_next_and:;
       __pyx_t_3 = (__pyx_v_nsmap == __pyx_v_4lxml_9objectify__DEFAULT_NSMAP);
       __pyx_t_1 = (__pyx_t_3 != 0);
       __pyx_t_2 = __pyx_t_1;
@@ -24349,12 +24282,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
     __pyx_t_2 = (__pyx_v_temp != Py_None);
     __pyx_t_3 = (__pyx_t_2 != 0);
     if (__pyx_t_3) {
-      goto __pyx_L17_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L16_bool_binop_done;
     }
-    __pyx_L17_next_and:;
     __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_temp); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1897; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_1 = __pyx_t_3;
     __pyx_L16_bool_binop_done:;
@@ -24449,12 +24380,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
     __pyx_t_3 = (__pyx_v_temp != Py_None);
     __pyx_t_2 = (__pyx_t_3 != 0);
     if (__pyx_t_2) {
-      goto __pyx_L20_next_and;
     } else {
       __pyx_t_1 = __pyx_t_2;
       goto __pyx_L19_bool_binop_done;
     }
-    __pyx_L20_next_and:;
     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_temp); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1903; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_1 = __pyx_t_2;
     __pyx_L19_bool_binop_done:;
@@ -24537,12 +24466,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
     __pyx_t_2 = (__pyx_v__xsi == Py_None);
     __pyx_t_3 = (__pyx_t_2 != 0);
     if (__pyx_t_3) {
-      goto __pyx_L23_next_and;
     } else {
       __pyx_t_1 = __pyx_t_3;
       goto __pyx_L22_bool_binop_done;
     }
-    __pyx_L23_next_and:;
     __pyx_t_3 = (__pyx_v__pytype == Py_None);
     __pyx_t_2 = (__pyx_t_3 != 0);
     __pyx_t_1 = __pyx_t_2;
@@ -24976,12 +24903,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
           __pyx_t_1 = (__pyx_v_prefix != Py_None);
           __pyx_t_3 = (__pyx_t_1 != 0);
           if (__pyx_t_3) {
-            goto __pyx_L38_next_and;
           } else {
             __pyx_t_2 = __pyx_t_3;
             goto __pyx_L37_bool_binop_done;
           }
-          __pyx_L38_next_and:;
           __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_prefix); if (unlikely(__pyx_t_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1931; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
           __pyx_t_2 = __pyx_t_3;
           __pyx_L37_bool_binop_done:;
@@ -25172,12 +25097,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
   __pyx_t_3 = (__pyx_v__value == Py_None);
   __pyx_t_1 = (__pyx_t_3 != 0);
   if (__pyx_t_1) {
-    goto __pyx_L46_next_and;
   } else {
     __pyx_t_2 = __pyx_t_1;
     goto __pyx_L45_bool_binop_done;
   }
-  __pyx_L46_next_and:;
   __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 = 1948; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
   __pyx_t_2 = __pyx_t_1;
   __pyx_L45_bool_binop_done:;
@@ -25192,13 +25115,11 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
  */
     __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v__pytype); if (unlikely(__pyx_t_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 1949; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_2) {
-      goto __pyx_L48_next_or;
     } else {
       __Pyx_INCREF(__pyx_v__pytype);
       __pyx_t_7 = __pyx_v__pytype;
       goto __pyx_L47_bool_binop_done;
     }
-    __pyx_L48_next_or:;
     __Pyx_INCREF(__pyx_n_u_NoneType);
     __pyx_t_7 = __pyx_n_u_NoneType;
     __pyx_L47_bool_binop_done:;
@@ -25396,12 +25317,10 @@ static PyObject *__pyx_pf_4lxml_9objectify_40DataElement(CYTHON_UNUSED PyObject
  */
     __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 = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     if (!__pyx_t_1) {
-      goto __pyx_L54_next_or;
     } else {
       __pyx_t_2 = __pyx_t_1;
       goto __pyx_L53_bool_binop_done;
     }
-    __pyx_L54_next_or:;
     __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 = 1966; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_2 = __pyx_t_1;
     __pyx_L53_bool_binop_done:;
@@ -26857,12 +26776,10 @@ static PyObject *__pyx_f_4lxml_9objectify__parseObjectPathString(PyObject *__pyx
     __pyx_t_3 = (__pyx_v_index == Py_None);
     __pyx_t_11 = (__pyx_t_3 != 0);
     if (!__pyx_t_11) {
-      goto __pyx_L12_next_or;
     } else {
       __pyx_t_2 = __pyx_t_11;
       goto __pyx_L11_bool_binop_done;
     }
-    __pyx_L12_next_or:;
     __pyx_t_11 = __Pyx_PyObject_IsTrue(__pyx_v_index); if (unlikely(__pyx_t_11 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 108; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_3 = ((!__pyx_t_11) != 0);
     __pyx_t_2 = __pyx_t_3;
@@ -27090,12 +27007,10 @@ static PyObject *__pyx_f_4lxml_9objectify__parseObjectPathString(PyObject *__pyx
  */
   __pyx_t_2 = ((PyList_GET_SIZE(__pyx_v_new_path) == 0) != 0);
   if (!__pyx_t_2) {
-    goto __pyx_L18_next_or;
   } else {
     __pyx_t_3 = __pyx_t_2;
     goto __pyx_L17_bool_binop_done;
   }
-  __pyx_L18_next_or:;
 
   /* "src/lxml/objectpath.pxi":128
  *         path_pos = match.end()
@@ -27300,12 +27215,10 @@ static PyObject *__pyx_f_4lxml_9objectify__parseObjectPathList(PyObject *__pyx_v
  */
     __pyx_t_8 = ((PyList_GET_SIZE(__pyx_v_new_path) == 0) != 0);
     if (__pyx_t_8) {
-      goto __pyx_L7_next_and;
     } else {
       __pyx_t_7 = __pyx_t_8;
       goto __pyx_L6_bool_binop_done;
     }
-    __pyx_L7_next_and:;
     __pyx_t_8 = (__Pyx_PyUnicode_Equals(__pyx_v_item, __pyx_kp_u_, Py_EQ)); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 138; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
     __pyx_t_7 = __pyx_t_8;
     __pyx_L6_bool_binop_done:;
@@ -27472,12 +27385,10 @@ static PyObject *__pyx_f_4lxml_9objectify__parseObjectPathList(PyObject *__pyx_v
  */
         __pyx_t_8 = ((PyList_GET_SIZE(__pyx_v_new_path) == 0) != 0);
         if (__pyx_t_8) {
-          goto __pyx_L12_next_and;
         } else {
           __pyx_t_7 = __pyx_t_8;
           goto __pyx_L11_bool_binop_done;
         }
-        __pyx_L12_next_and:;
         __pyx_t_6 = PyObject_RichCompare(__pyx_v_index, __pyx_int_0, Py_NE); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) {__pyx_filename = __pyx_f[1]; __pyx_lineno = 153; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
         __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
@@ -27948,12 +27859,10 @@ static PyObject *__pyx_f_4lxml_9objectify__findObjectPath(struct LxmlElement *__
  */
   __pyx_t_4 = ((__pyx_v_c_href == NULL) != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L5_next_or;
   } else {
     __pyx_t_3 = __pyx_t_4;
     goto __pyx_L4_bool_binop_done;
   }
-  __pyx_L5_next_or:;
   __pyx_t_4 = (((__pyx_v_c_href[0]) == '\x00') != 0);
   __pyx_t_3 = __pyx_t_4;
   __pyx_L4_bool_binop_done:;
@@ -28387,12 +28296,10 @@ static PyObject *__pyx_f_4lxml_9objectify__createObjectPath(struct LxmlElement *
  */
   __pyx_t_4 = ((__pyx_v_c_href == NULL) != 0);
   if (!__pyx_t_4) {
-    goto __pyx_L6_next_or;
   } else {
     __pyx_t_1 = __pyx_t_4;
     goto __pyx_L5_bool_binop_done;
   }
-  __pyx_L6_next_or:;
   __pyx_t_4 = (((__pyx_v_c_href[0]) == '\x00') != 0);
   __pyx_t_1 = __pyx_t_4;
   __pyx_L5_bool_binop_done:;
@@ -29170,12 +29077,10 @@ static int __pyx_f_4lxml_9objectify__recursiveBuildDescendantPaths(xmlNode *__py
  */
     __pyx_t_5 = ((__pyx_v_c_href != NULL) != 0);
     if (__pyx_t_5) {
-      goto __pyx_L10_next_and;
     } else {
       __pyx_t_4 = __pyx_t_5;
       goto __pyx_L9_bool_binop_done;
     }
-    __pyx_L10_next_and:;
     __pyx_t_5 = ((_getNs(__pyx_v_c_child) == NULL) != 0);
     __pyx_t_4 = __pyx_t_5;
     __pyx_L9_bool_binop_done:;
@@ -33205,7 +33110,6 @@ PyMODINIT_FUNC PyInit_objectify(void)
   if (__pyx_m) {
     if (__pyx_d) {
       __Pyx_AddTraceback("init lxml.objectify", __pyx_clineno, __pyx_lineno, __pyx_filename);
-      Py_DECREF(__pyx_d); __pyx_d = 0;
     }
     Py_DECREF(__pyx_m); __pyx_m = 0;
   } else if (!PyErr_Occurred()) {
@@ -33953,6 +33857,13 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
     }
     PyErr_SetObject(type, value);
     if (tb) {
+#if CYTHON_COMPILING_IN_PYPY
+        PyObject *tmp_type, *tmp_value, *tmp_tb;
+        PyErr_Fetch(tmp_type, tmp_value, tmp_tb);
+        Py_INCREF(tb);
+        PyErr_Restore(tmp_type, tmp_value, tb);
+        Py_XDECREF(tmp_tb);
+#else
         PyThreadState *tstate = PyThreadState_GET();
         PyObject* tmp_tb = tstate->curexc_traceback;
         if (tb != tmp_tb) {
@@ -33960,6 +33871,7 @@ static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject
             tstate->curexc_traceback = tb;
             Py_XDECREF(tmp_tb);
         }
+#endif
     }
 bad:
     Py_XDECREF(owned_instance);
index dc1354d9f36c1b736fb50b8cede6ee0a49464471..8f9d80020f08dd8b3b7371b40ddfb05deda35daf 100644 (file)
@@ -31,6 +31,7 @@ class ElementTreeContentHandler(ContentHandler):
     """Build an lxml ElementTree from SAX events.
     """
     def __init__(self, makeelement=None):
+        ContentHandler.__init__(self)
         self._root = None
         self._root_siblings = []
         self._element_stack = []
index 2c14b5e08ee2ddb554107ea05e7f4015e5bb0ad0..8858ca2777d7160b3343e7546c13686169a79b7a 100644 (file)
@@ -643,6 +643,7 @@ cdef class xmlfile:
     cdef int compresslevel
     cdef bint close
     cdef bint buffered
+    cdef int method
 
     def __init__(self, output_file not None, encoding=None, compression=None,
                  close=False, buffered=True):
@@ -651,12 +652,13 @@ cdef class xmlfile:
         self.compresslevel = compression or 0
         self.close = close
         self.buffered = buffered
+        self.method = OUTPUT_METHOD_XML
 
     def __enter__(self):
         assert self.output_file is not None
         self.writer = _IncrementalFileWriter(
             self.output_file, self.encoding, self.compresslevel,
-            self.close, self.buffered)
+            self.close, self.buffered, self.method)
         return self.writer
 
     def __exit__(self, exc_type, exc_val, exc_tb):
@@ -668,6 +670,17 @@ cdef class xmlfile:
                 self.output_file = None
 
 
+cdef class htmlfile(xmlfile):
+    """htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)
+
+    A simple mechanism for incremental HTML serialisation.  Works the same as
+    xmlfile.
+    """
+    def __init__(self, *args, **kwargs):
+        super().__init__(*args, **kwargs)
+        self.method = OUTPUT_METHOD_HTML
+
+
 cdef enum _IncrementalFileWriterStatus:
     WRITER_STARTING = 0
     WRITER_DECL_WRITTEN = 1
@@ -685,9 +698,11 @@ cdef class _IncrementalFileWriter:
     cdef _FilelikeWriter _target
     cdef list _element_stack
     cdef int _status
+    cdef int _method
     cdef bint _buffered
 
-    def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close, bint buffered):
+    def __cinit__(self, outfile, bytes encoding, int compresslevel, bint close,
+                  bint buffered, int method):
         self._status = WRITER_STARTING
         self._element_stack = []
         if encoding is None:
@@ -697,6 +712,7 @@ cdef class _IncrementalFileWriter:
         self._buffered = buffered
         self._target = _create_output_buffer(
             outfile, self._c_encoding, compresslevel, &self._c_out, close)
+        self._method = method
 
     def __dealloc__(self):
         if self._c_out is not NULL:
@@ -710,6 +726,8 @@ cdef class _IncrementalFileWriter:
         assert self._c_out is not NULL
         cdef const_xmlChar* c_version
         cdef int c_standalone
+        if self._method != OUTPUT_METHOD_XML:
+            raise LxmlSyntaxError("only XML documents have declarations")
         if self._status >= WRITER_DECL_WRITTEN:
             raise LxmlSyntaxError("XML declaration already written")
         version = _utf8orNone(version)
@@ -788,8 +806,10 @@ cdef class _IncrementalFileWriter:
         prefix = self._find_prefix(ns, flat_namespace_map, new_namespaces)
         tree.xmlOutputBufferWrite(self._c_out, 1, '<')
         self._write_qname(name, prefix)
+
         self._write_attributes_and_namespaces(
             attributes, flat_namespace_map, new_namespaces)
+
         tree.xmlOutputBufferWrite(self._c_out, 1, '>')
         if not self._buffered:
             tree.xmlOutputBufferFlush(self._c_out)
@@ -887,7 +907,7 @@ cdef class _IncrementalFileWriter:
                 if self._status > WRITER_IN_ELEMENT:
                     raise LxmlSyntaxError("cannot append trailing element to complete XML document")
                 _writeNodeToBuffer(self._c_out, (<_Element>content)._c_node,
-                                   self._c_encoding, NULL, OUTPUT_METHOD_XML,
+                                   self._c_encoding, NULL, self._method,
                                    False, False, pretty_print, with_tail, False)
                 if (<_Element>content)._c_node.type == tree.XML_ELEMENT_NODE:
                     if not self._element_stack:
index 764a22cc587cb0cc0498b937957e8d4e939326db..9fe4a2c96b89037f30202f61ed3c5af79375c14e 100644 (file)
@@ -9,13 +9,13 @@ for IO related test cases.
 """
 
 import unittest
-import os, re, tempfile, copy, operator, gc, sys
+import os, re, tempfile, copy, operator, sys
 
 this_dir = os.path.dirname(__file__)
 if this_dir not in sys.path:
     sys.path.insert(0, this_dir) # needed for Py3
 
-from common_imports import StringIO, BytesIO, etree
+from common_imports import BytesIO, etree
 from common_imports import ElementTree, cElementTree, ET_VERSION, CET_VERSION
 from common_imports import filter_by_version, fileInTestDir, canonicalize, HelperTestCase
 from common_imports import _str, _bytes, unicode, next
@@ -2305,13 +2305,32 @@ class _ETreeTestCaseBase(HelperTestCase):
         s = [e, f]
         a[99:] = s
         self.assertEqual(
-            [a, b, e, f],
+            [b, c, e, f],
             list(a))
 
         s = [g, h]
         a[:0] = s
         self.assertEqual(
-            [g, h, a, b, e, f],
+            [g, h, b, c, e, f],
+            list(a))
+
+    def test_setslice_end_exact(self):
+        Element = self.etree.Element
+        SubElement = self.etree.SubElement
+
+        a = Element('a')
+        b = SubElement(a, 'b')
+        c = SubElement(a, 'c')
+        d = SubElement(a, 'd')
+
+        e = Element('e')
+        f = Element('f')
+        g = Element('g')
+
+        s = [e, f, g]
+        a[3:] = s
+        self.assertEqual(
+            [b, c, d, e, f, g],
             list(a))
 
     def test_setslice_single(self):
@@ -2388,25 +2407,6 @@ class _ETreeTestCaseBase(HelperTestCase):
             [b, x, y, c, d],
             list(a))
 
-    def test_setslice_end(self):
-        Element = self.etree.Element
-        SubElement = self.etree.SubElement
-
-        a = Element('a')
-        b = SubElement(a, 'b')
-        c = SubElement(a, 'c')
-        d = SubElement(a, 'd')
-
-        e = Element('e')
-        f = Element('f')
-        g = Element('g')
-
-        s = [e, f, g]
-        a[3:] = s
-        self.assertEqual(
-            [b, c, d, e, f, g],
-            list(a))
-        
     def test_setslice_empty(self):
         Element = self.etree.Element
 
index 9563546c4e0159296076d0ae1913e5bdb086fe16..6dafe04bc2b79c88009ea5b8ccf2eb5146a9283a 100644 (file)
@@ -232,6 +232,16 @@ class ETreeOnlyTestCase(HelperTestCase):
         root.set("attr", "TEST")
         self.assertEqual("TEST", root.get("attr"))
 
+    def test_attribute_set_nonstring(self):
+        # ElementTree accepts arbitrary attribute values
+        # lxml.etree allows only strings
+        Element = self.etree.Element
+
+        root = Element("root")
+        root.set("attr", "TEST")
+        self.assertEqual("TEST", root.get("attr"))
+        self.assertRaises(TypeError, root.set, "newattr", 5)
+
     def test_attrib_and_keywords(self):
         Element = self.etree.Element
 
@@ -566,16 +576,6 @@ class ETreeOnlyTestCase(HelperTestCase):
         self.assertEqual(_bytes("<test/>"),
                           tostring(root2))
 
-    def test_attribute_set(self):
-        # ElementTree accepts arbitrary attribute values
-        # lxml.etree allows only strings
-        Element = self.etree.Element
-
-        root = Element("root")
-        root.set("attr", "TEST")
-        self.assertEqual("TEST", root.get("attr"))
-        self.assertRaises(TypeError, root.set, "newattr", 5)
-
     def test_parse_remove_comments(self):
         fromstring = self.etree.fromstring
         tostring = self.etree.tostring
@@ -1284,7 +1284,10 @@ class ETreeOnlyTestCase(HelperTestCase):
 
         class MyResolver(self.etree.Resolver):
             def resolve(self, url, id, context):
-                assertEqual(url, fileUrlInTestDir(test_url))
+                expected = fileUrlInTestDir(test_url)
+                url = url.replace('file://', 'file:')  # depends on libxml2 version
+                expected = expected.replace('file://', 'file:')
+                assertEqual(url, expected)
                 return self.resolve_filename(
                     fileUrlInTestDir('test.dtd'), context)
 
@@ -2887,18 +2890,6 @@ class ETreeOnlyTestCase(HelperTestCase):
         self.assertEqual(len(root.findall(".//xx:*", namespaces=nsmap)), 1)
         self.assertEqual(len(root.findall(".//b", namespaces=nsmap)), 2)
 
-    def test_findall_different_nsmaps(self):
-        XML = self.etree.XML
-        root = XML(_bytes('<a xmlns:x="X" xmlns:y="Y"><x:b><c/></x:b><b/><c><x:b/><b/></c><y:b/></a>'))
-        nsmap = {'xx': 'X'}
-        self.assertEqual(len(root.findall(".//xx:b", namespaces=nsmap)), 2)
-        self.assertEqual(len(root.findall(".//xx:*", namespaces=nsmap)), 2)
-        self.assertEqual(len(root.findall(".//b", namespaces=nsmap)), 2)
-        nsmap = {'xx': 'Y'}
-        self.assertEqual(len(root.findall(".//xx:b", namespaces=nsmap)), 1)
-        self.assertEqual(len(root.findall(".//xx:*", namespaces=nsmap)), 1)
-        self.assertEqual(len(root.findall(".//b", namespaces=nsmap)), 2)
-
     def test_findall_syntax_error(self):
         XML = self.etree.XML
         root = XML(_bytes('<a><b><c/></b><b/><c><b/><b/></c><b/></a>'))
index 389d32fd832225f940810a91c5058a635c7f85c9..0adf4496e47402d49954f0ad164b23b86bbdfe7f 100644 (file)
@@ -335,12 +335,58 @@ class SimpleFileLikeXmlFileTestCase(_XmlFileTestCaseBase):
         self._file = None  # prevent closing in tearDown()
 
 
+class HtmlFileTestCase(_XmlFileTestCaseBase):
+    def setUp(self):
+        self._file = BytesIO()
+
+    def test_void_elements(self):
+        # http://www.w3.org/TR/html5/syntax.html#elements-0
+        void_elements = set([
+            "area", "base", "br", "col", "embed", "hr", "img",
+            "input", "keygen", "link", "meta", "param",
+            "source", "track", "wbr"
+        ])
+
+        # FIXME: These don't get serialized as void elements.
+        void_elements.difference_update([
+            'area', 'embed', 'keygen', 'source', 'track', 'wbr'
+        ])
+
+        for tag in sorted(void_elements):
+            with etree.htmlfile(self._file) as xf:
+                xf.write(etree.Element(tag))
+            self.assertXml('<%s>' % tag)
+            self._file = BytesIO()
+
+    def test_write_declaration(self):
+        with etree.htmlfile(self._file) as xf:
+            try:
+                xf.write_declaration()
+            except etree.LxmlSyntaxError:
+                self.assertTrue(True)
+            else:
+                self.assertTrue(False)
+            xf.write(etree.Element('html'))
+
+    def test_write_namespaced_element(self):
+        with etree.htmlfile(self._file) as xf:
+            xf.write(etree.Element('{some_ns}some_tag'))
+        self.assertXml('<ns0:some_tag xmlns:ns0="some_ns"></ns0:some_tag>')
+
+    def test_open_namespaced_element(self):
+        with etree.htmlfile(self._file) as xf:
+            with xf.element("{some_ns}some_tag"):
+                pass
+        self.assertXml('<ns0:some_tag xmlns:ns0="some_ns"></ns0:some_tag>')
+
+
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTests([unittest.makeSuite(BytesIOXmlFileTestCase),
                     unittest.makeSuite(TempXmlFileTestCase),
                     unittest.makeSuite(TempPathXmlFileTestCase),
                     unittest.makeSuite(SimpleFileLikeXmlFileTestCase),
+                    unittest.makeSuite(HtmlFileTestCase),
                     ])
     return suite
 
index ed45fbbcfcef6b939e041d9efd0a36643a073648..5b1b3089b0b2728647d27ac65834366ddcee65cc 100644 (file)
@@ -10,10 +10,11 @@ this_dir = os.path.dirname(__file__)
 if this_dir not in sys.path:
     sys.path.insert(0, this_dir) # needed for Py3
 
-from common_imports import HelperTestCase, doctest, make_doctest, BytesIO, _bytes
+from common_imports import HelperTestCase, make_doctest, BytesIO, _bytes
 from lxml import sax
 from xml.dom import pulldom
 
+
 class ETreeSaxTestCase(HelperTestCase):
 
     def test_etree_sax_simple(self):
@@ -273,5 +274,6 @@ def test_suite():
         [make_doctest('../../../doc/sax.txt')])
     return suite
 
+
 if __name__ == '__main__':
     print('to test use test.py %s' % __file__)
index 18091983f59ddde8105e566545a0d9e4a12a4f1c..47b322c971c3ce34b223693982d647bf2e352923 100644 (file)
@@ -1 +1 @@
-3.4.0
+3.4.1