From 2911ce3e3d010449e3c9a69dabe08a13ed1c3530 Mon Sep 17 00:00:00 2001
From: Hyunjee Kim
Date: Thu, 31 Jan 2019 10:50:04 +0900
Subject: [PATCH] Imported Upstream version 3.4.3
Change-Id: Ife90690b395580f151a602cb54a6daa5049da760
Signed-off-by: Hyunjee Kim
---
CHANGES.txt | 18 +
INSTALL.txt | 153 +-
PKG-INFO | 19 +-
doc/html/FAQ.html | 4 +-
doc/html/api.html | 4 +-
doc/html/api/abc.ABCMeta-class.html | 2 +-
doc/html/api/api-objects.txt | 33 +-
doc/html/api/class-tree.html | 8 +-
.../api/cssselect.parser.SelectorError-class.html | 2 +-
...cssselect.parser.SelectorSyntaxError-class.html | 2 +-
.../api/cssselect.xpath.ExpressionError-class.html | 2 +-
doc/html/api/cssselect.xpath.XPathExpr-class.html | 2 +-
doc/html/api/deprecated-index.html | 2 +-
doc/html/api/exceptions.AssertionError-class.html | 2 +-
doc/html/api/help.html | 2 +-
doc/html/api/identifier-index-A.html | 2 +-
doc/html/api/identifier-index-B.html | 2 +-
doc/html/api/identifier-index-C.html | 2 +-
doc/html/api/identifier-index-D.html | 2 +-
doc/html/api/identifier-index-E.html | 239 +-
doc/html/api/identifier-index-F.html | 2 +-
doc/html/api/identifier-index-G.html | 2 +-
doc/html/api/identifier-index-H.html | 2 +-
doc/html/api/identifier-index-I.html | 2 +-
doc/html/api/identifier-index-J.html | 2 +-
doc/html/api/identifier-index-K.html | 2 +-
doc/html/api/identifier-index-L.html | 2 +-
doc/html/api/identifier-index-M.html | 2 +-
doc/html/api/identifier-index-N.html | 2 +-
doc/html/api/identifier-index-O.html | 2 +-
doc/html/api/identifier-index-P.html | 2 +-
doc/html/api/identifier-index-Q.html | 2 +-
doc/html/api/identifier-index-R.html | 2 +-
doc/html/api/identifier-index-S.html | 2 +-
doc/html/api/identifier-index-T.html | 1733 ++--
doc/html/api/identifier-index-U.html | 2 +-
doc/html/api/identifier-index-V.html | 2 +-
doc/html/api/identifier-index-W.html | 2 +-
doc/html/api/identifier-index-X.html | 2 +-
doc/html/api/identifier-index-Y.html | 2 +-
doc/html/api/identifier-index-Z.html | 2 +-
doc/html/api/identifier-index-_.html | 877 +-
doc/html/api/identifier-index.html | 2 +-
doc/html/api/lxml-module.html | 6 +-
doc/html/api/lxml-pysrc.html | 2 +-
doc/html/api/lxml.ElementInclude-module.html | 2 +-
doc/html/api/lxml.ElementInclude-pysrc.html | 2 +-
...xml.ElementInclude.FatalIncludeError-class.html | 2 +-
doc/html/api/lxml.builder-module.html | 2 +-
doc/html/api/lxml.builder-pysrc.html | 2 +-
doc/html/api/lxml.builder.ElementMaker-class.html | 2 +-
doc/html/api/lxml.cssselect-module.html | 2 +-
doc/html/api/lxml.cssselect-pysrc.html | 2 +-
doc/html/api/lxml.cssselect.CSSSelector-class.html | 2 +-
.../lxml.cssselect.LxmlHTMLTranslator-class.html | 2 +-
.../api/lxml.cssselect.LxmlTranslator-class.html | 2 +-
doc/html/api/lxml.doctestcompare-module.html | 2 +-
doc/html/api/lxml.doctestcompare-pysrc.html | 2 +-
...ml.doctestcompare.LHTMLOutputChecker-class.html | 2 +-
...xml.doctestcompare.LXMLOutputChecker-class.html | 2 +-
.../lxml.doctestcompare._RestoreChecker-class.html | 2 +-
doc/html/api/lxml.etree-module.html | 32 +-
.../api/lxml.etree.AncestorsIterator-class.html | 2 +-
...ree.AttributeBasedElementClassLookup-class.html | 2 +-
doc/html/api/lxml.etree.C14NError-class.html | 2 +-
doc/html/api/lxml.etree.CDATA-class.html | 2 +-
doc/html/api/lxml.etree.CommentBase-class.html | 2 +-
.../lxml.etree.CustomElementClassLookup-class.html | 2 +-
doc/html/api/lxml.etree.DTD-class.html | 2 +-
doc/html/api/lxml.etree.DTDError-class.html | 2 +-
doc/html/api/lxml.etree.DTDParseError-class.html | 2 +-
.../api/lxml.etree.DTDValidateError-class.html | 2 +-
doc/html/api/lxml.etree.DocInfo-class.html | 2 +-
doc/html/api/lxml.etree.DocumentInvalid-class.html | 2 +-
.../api/lxml.etree.ETCompatXMLParser-class.html | 2 +-
doc/html/api/lxml.etree.ETXPath-class.html | 2 +-
doc/html/api/lxml.etree.ElementBase-class.html | 2 +-
.../api/lxml.etree.ElementChildIterator-class.html | 2 +-
.../api/lxml.etree.ElementClassLookup-class.html | 2 +-
...lxml.etree.ElementDefaultClassLookup-class.html | 2 +-
...lxml.etree.ElementDepthFirstIterator-class.html | 2 +-
...ml.etree.ElementNamespaceClassLookup-class.html | 2 +-
.../api/lxml.etree.ElementTextIterator-class.html | 2 +-
doc/html/api/lxml.etree.EntityBase-class.html | 2 +-
doc/html/api/lxml.etree.Error-class.html | 2 +-
doc/html/api/lxml.etree.ErrorDomains-class.html | 2 +-
doc/html/api/lxml.etree.ErrorLevels-class.html | 2 +-
doc/html/api/lxml.etree.ErrorTypes-class.html | 2 +-
...xml.etree.FallbackElementClassLookup-class.html | 2 +-
doc/html/api/lxml.etree.HTMLParser-class.html | 2 +-
doc/html/api/lxml.etree.HTMLPullParser-class.html | 2 +-
doc/html/api/lxml.etree.LxmlError-class.html | 2 +-
.../api/lxml.etree.LxmlRegistryError-class.html | 2 +-
doc/html/api/lxml.etree.LxmlSyntaxError-class.html | 2 +-
.../lxml.etree.NamespaceRegistryError-class.html | 2 +-
doc/html/api/lxml.etree.PIBase-class.html | 2 +-
doc/html/api/lxml.etree.ParseError-class.html | 2 +-
....etree.ParserBasedElementClassLookup-class.html | 2 +-
doc/html/api/lxml.etree.ParserError-class.html | 2 +-
doc/html/api/lxml.etree.PyErrorLog-class.html | 2 +-
.../lxml.etree.PythonElementClassLookup-class.html | 2 +-
doc/html/api/lxml.etree.QName-class.html | 2 +-
doc/html/api/lxml.etree.RelaxNG-class.html | 2 +-
doc/html/api/lxml.etree.RelaxNGError-class.html | 2 +-
.../api/lxml.etree.RelaxNGErrorTypes-class.html | 2 +-
.../api/lxml.etree.RelaxNGParseError-class.html | 2 +-
.../api/lxml.etree.RelaxNGValidateError-class.html | 2 +-
doc/html/api/lxml.etree.Resolver-class.html | 2 +-
doc/html/api/lxml.etree.Schematron-class.html | 2 +-
doc/html/api/lxml.etree.SchematronError-class.html | 2 +-
.../api/lxml.etree.SchematronParseError-class.html | 2 +-
.../lxml.etree.SchematronValidateError-class.html | 2 +-
.../api/lxml.etree.SerialisationError-class.html | 2 +-
.../api/lxml.etree.SiblingsIterator-class.html | 2 +-
doc/html/api/lxml.etree.TreeBuilder-class.html | 2 +-
doc/html/api/lxml.etree.XInclude-class.html | 2 +-
doc/html/api/lxml.etree.XIncludeError-class.html | 2 +-
doc/html/api/lxml.etree.XMLParser-class.html | 2 +-
doc/html/api/lxml.etree.XMLPullParser-class.html | 2 +-
doc/html/api/lxml.etree.XMLSchema-class.html | 2 +-
doc/html/api/lxml.etree.XMLSchemaError-class.html | 2 +-
.../api/lxml.etree.XMLSchemaParseError-class.html | 2 +-
.../lxml.etree.XMLSchemaValidateError-class.html | 2 +-
doc/html/api/lxml.etree.XMLSyntaxError-class.html | 2 +-
doc/html/api/lxml.etree.XPath-class.html | 2 +-
.../lxml.etree.XPathDocumentEvaluator-class.html | 2 +-
.../lxml.etree.XPathElementEvaluator-class.html | 2 +-
doc/html/api/lxml.etree.XPathError-class.html | 2 +-
doc/html/api/lxml.etree.XPathEvalError-class.html | 2 +-
.../api/lxml.etree.XPathFunctionError-class.html | 2 +-
.../api/lxml.etree.XPathResultError-class.html | 2 +-
.../api/lxml.etree.XPathSyntaxError-class.html | 2 +-
doc/html/api/lxml.etree.XSLT-class.html | 2 +-
.../api/lxml.etree.XSLTAccessControl-class.html | 2 +-
doc/html/api/lxml.etree.XSLTApplyError-class.html | 2 +-
doc/html/api/lxml.etree.XSLTError-class.html | 2 +-
doc/html/api/lxml.etree.XSLTExtension-class.html | 2 +-
.../api/lxml.etree.XSLTExtensionError-class.html | 2 +-
doc/html/api/lxml.etree.XSLTParseError-class.html | 2 +-
doc/html/api/lxml.etree.XSLTSaveError-class.html | 2 +-
doc/html/api/lxml.etree._Attrib-class.html | 2 +-
doc/html/api/lxml.etree._BaseErrorLog-class.html | 2 +-
doc/html/api/lxml.etree._Comment-class.html | 2 +-
doc/html/api/lxml.etree._Document-class.html | 2 +-
doc/html/api/lxml.etree._DomainErrorLog-class.html | 2 +-
doc/html/api/lxml.etree._Element-class.html | 2 +-
.../api/lxml.etree._ElementIterator-class.html | 2 +-
.../lxml.etree._ElementMatchIterator-class.html | 2 +-
.../api/lxml.etree._ElementStringResult-class.html | 2 +-
.../api/lxml.etree._ElementTagMatcher-class.html | 2 +-
doc/html/api/lxml.etree._ElementTree-class.html | 2 +-
.../lxml.etree._ElementUnicodeResult-class.html | 2 +-
doc/html/api/lxml.etree._Entity-class.html | 2 +-
doc/html/api/lxml.etree._ErrorLog-class.html | 2 +-
doc/html/api/lxml.etree._FeedParser-class.html | 2 +-
doc/html/api/lxml.etree._IDDict-class.html | 2 +-
doc/html/api/lxml.etree._ListErrorLog-class.html | 2 +-
doc/html/api/lxml.etree._LogEntry-class.html | 2 +-
.../lxml.etree._ProcessingInstruction-class.html | 2 +-
.../api/lxml.etree._RotatingErrorLog-class.html | 2 +-
.../api/lxml.etree._SaxParserTarget-class.html | 2 +-
.../api/lxml.etree._TargetParserResult-class.html | 2 +-
doc/html/api/lxml.etree._Validator-class.html | 2 +-
.../api/lxml.etree._XPathEvaluatorBase-class.html | 2 +-
...xml.etree._XSLTProcessingInstruction-class.html | 2 +-
doc/html/api/lxml.etree._XSLTResultTree-class.html | 2 +-
doc/html/api/lxml.etree.htmlfile-class.html | 2 +-
doc/html/api/lxml.etree.iterparse-class.html | 2 +-
doc/html/api/lxml.etree.iterwalk-class.html | 2 +-
doc/html/api/lxml.etree.xmlfile-class.html | 2 +-
doc/html/api/lxml.html-module.html | 21 +-
doc/html/api/lxml.html-pysrc.html | 4439 ++++----
doc/html/api/lxml.html.CheckboxGroup-class.html | 2 +-
doc/html/api/lxml.html.CheckboxValues-class.html | 2 +-
doc/html/api/lxml.html.ElementSoup-module.html | 2 +-
doc/html/api/lxml.html.ElementSoup-pysrc.html | 2 +-
doc/html/api/lxml.html.FieldsDict-class.html | 8 +-
doc/html/api/lxml.html.FormElement-class.html | 2 +-
doc/html/api/lxml.html.HTMLParser-class.html | 2 +-
doc/html/api/lxml.html.HtmlComment-class.html | 2 +-
doc/html/api/lxml.html.HtmlElement-class.html | 2 +-
.../lxml.html.HtmlElementClassLookup-class.html | 2 +-
doc/html/api/lxml.html.HtmlEntity-class.html | 2 +-
doc/html/api/lxml.html.HtmlMixin-class.html | 2 +-
.../lxml.html.HtmlProcessingInstruction-class.html | 2 +-
doc/html/api/lxml.html.InputElement-class.html | 2 +-
doc/html/api/lxml.html.InputGetter-class.html | 2 +-
doc/html/api/lxml.html.InputMixin-class.html | 2 +-
doc/html/api/lxml.html.LabelElement-class.html | 2 +-
.../api/lxml.html.MultipleSelectOptions-class.html | 2 +-
doc/html/api/lxml.html.RadioGroup-class.html | 2 +-
doc/html/api/lxml.html.SelectElement-class.html | 2 +-
doc/html/api/lxml.html.TextareaElement-class.html | 2 +-
doc/html/api/lxml.html.XHTMLParser-class.html | 2 +-
doc/html/api/lxml.html._MethodFunc-class.html | 2 +-
doc/html/api/lxml.html.builder-module.html | 2 +-
doc/html/api/lxml.html.builder-pysrc.html | 2 +-
doc/html/api/lxml.html.clean-module.html | 2 +-
doc/html/api/lxml.html.clean-pysrc.html | 2 +-
doc/html/api/lxml.html.clean.Cleaner-class.html | 2 +-
doc/html/api/lxml.html.defs-module.html | 2 +-
doc/html/api/lxml.html.defs-pysrc.html | 2 +-
doc/html/api/lxml.html.diff-module.html | 6 +-
doc/html/api/lxml.html.diff-pysrc.html | 2 +-
doc/html/api/lxml.html.diff.DEL_END-class.html | 2 +-
doc/html/api/lxml.html.diff.DEL_START-class.html | 2 +-
...html.diff.InsensitiveSequenceMatcher-class.html | 2 +-
doc/html/api/lxml.html.diff.NoDeletes-class.html | 2 +-
doc/html/api/lxml.html.diff.href_token-class.html | 2 +-
doc/html/api/lxml.html.diff.tag_token-class.html | 2 +-
doc/html/api/lxml.html.diff.token-class.html | 2 +-
doc/html/api/lxml.html.formfill-module.html | 2 +-
doc/html/api/lxml.html.formfill-pysrc.html | 2 +-
...ml.html.formfill.DefaultErrorCreator-class.html | 2 +-
.../api/lxml.html.formfill.FormNotFound-class.html | 2 +-
doc/html/api/lxml.html.html5parser-module.html | 2 +-
doc/html/api/lxml.html.html5parser-pysrc.html | 2 +-
.../lxml.html.html5parser.HTMLParser-class.html | 2 +-
.../lxml.html.html5parser.XHTMLParser-class.html | 2 +-
doc/html/api/lxml.html.soupparser-module.html | 2 +-
doc/html/api/lxml.html.soupparser-pysrc.html | 2 +-
doc/html/api/lxml.html.usedoctest-module.html | 2 +-
doc/html/api/lxml.html.usedoctest-pysrc.html | 2 +-
doc/html/api/lxml.includes-module.html | 2 +-
doc/html/api/lxml.includes-pysrc.html | 2 +-
doc/html/api/lxml.isoschematron-module.html | 2 +-
doc/html/api/lxml.isoschematron-pysrc.html | 2 +-
.../api/lxml.isoschematron.Schematron-class.html | 2 +-
doc/html/api/lxml.objectify-module.html | 6 +-
doc/html/api/lxml.objectify.BoolElement-class.html | 2 +-
.../api/lxml.objectify.ElementMaker-class.html | 2 +-
.../api/lxml.objectify.FloatElement-class.html | 2 +-
doc/html/api/lxml.objectify.IntElement-class.html | 2 +-
doc/html/api/lxml.objectify.LongElement-class.html | 2 +-
doc/html/api/lxml.objectify.NoneElement-class.html | 2 +-
.../api/lxml.objectify.NumberElement-class.html | 2 +-
doc/html/api/lxml.objectify.ObjectPath-class.html | 2 +-
...xml.objectify.ObjectifiedDataElement-class.html | 2 +-
.../lxml.objectify.ObjectifiedElement-class.html | 2 +-
...bjectify.ObjectifyElementClassLookup-class.html | 2 +-
doc/html/api/lxml.objectify.PyType-class.html | 2 +-
.../api/lxml.objectify.StringElement-class.html | 2 +-
doc/html/api/lxml.pyclasslookup-module.html | 2 +-
doc/html/api/lxml.pyclasslookup-pysrc.html | 2 +-
doc/html/api/lxml.sax-module.html | 2 +-
doc/html/api/lxml.sax-pysrc.html | 2 +-
.../lxml.sax.ElementTreeContentHandler-class.html | 2 +-
.../api/lxml.sax.ElementTreeProducer-class.html | 2 +-
doc/html/api/lxml.sax.SaxError-class.html | 2 +-
doc/html/api/lxml.tests-module.html | 3 +-
doc/html/api/lxml.tests-pysrc.html | 2 +-
doc/html/api/lxml.tests.common_imports-module.html | 2 +-
doc/html/api/lxml.tests.common_imports-pysrc.html | 2 +-
....tests.common_imports.HelperTestCase-class.html | 4 +-
...l.tests.common_imports.LargeFileLike-class.html | 2 +-
....common_imports.LargeFileLikeUnicode-class.html | 2 +-
...l.tests.common_imports.SillyFileLike-class.html | 2 +-
.../api/lxml.tests.dummy_http_server-module.html | 2 +-
.../api/lxml.tests.dummy_http_server-pysrc.html | 2 +-
...mmy_http_server.HTTPRequestCollector-class.html | 2 +-
...ml.tests.dummy_http_server.WebServer-class.html | 2 +-
...ts.dummy_http_server._RequestHandler-class.html | 2 +-
doc/html/api/lxml.tests.test_builder-module.html | 2 +-
doc/html/api/lxml.tests.test_builder-pysrc.html | 2 +-
...l.tests.test_builder.BuilderTestCase-class.html | 6 +-
.../api/lxml.tests.test_classlookup-module.html | 2 +-
.../api/lxml.tests.test_classlookup-pysrc.html | 2 +-
...test_classlookup.ClassLookupTestCase-class.html | 6 +-
...tests.test_classlookup.ProxyTestCase-class.html | 6 +-
doc/html/api/lxml.tests.test_css-module.html | 2 +-
doc/html/api/lxml.tests.test_css-pysrc.html | 2 +-
.../api/lxml.tests.test_css.CSSTestCase-class.html | 2 +-
.../api/lxml.tests.test_doctestcompare-module.html | 2 +-
.../api/lxml.tests.test_doctestcompare-pysrc.html | 2 +-
...st_doctestcompare.DoctestCompareTest-class.html | 2 +-
...tests.test_doctestcompare.DummyInput-class.html | 2 +-
doc/html/api/lxml.tests.test_dtd-module.html | 2 +-
doc/html/api/lxml.tests.test_dtd-pysrc.html | 93 +-
...lxml.tests.test_dtd.ETreeDtdTestCase-class.html | 50 +-
.../api/lxml.tests.test_elementpath-module.html | 208 +
.../api/lxml.tests.test_elementpath-pysrc.html | 216 +
...tpath.ElementTreeElementPathTestCase-class.html | 351 +
...elementpath.EtreeElementPathTestCase-class.html | 412 +
.../api/lxml.tests.test_elementtree-module.html | 2 +-
.../api/lxml.tests.test_elementtree-pysrc.html | 2 +-
...est_elementtree.CElementTreeTestCase-class.html | 2 +-
...s.test_elementtree.ETreePullTestCase-class.html | 6 +-
...tests.test_elementtree.ETreeTestCase-class.html | 6 +-
...test_elementtree.ElementTreeTestCase-class.html | 8 +-
....test_elementtree._ETreeTestCaseBase-class.html | 2 +-
....test_elementtree._XMLPullParserTest-class.html | 2 +-
doc/html/api/lxml.tests.test_errors-module.html | 2 +-
doc/html/api/lxml.tests.test_errors-pysrc.html | 2 +-
...lxml.tests.test_errors.ErrorTestCase-class.html | 6 +-
doc/html/api/lxml.tests.test_etree-module.html | 2 +-
doc/html/api/lxml.tests.test_etree-pysrc.html | 2 +-
...l.tests.test_etree.ETreeC14NTestCase-class.html | 2 +-
...l.tests.test_etree.ETreeErrorLogTest-class.html | 6 +-
...l.tests.test_etree.ETreeOnlyTestCase-class.html | 6 +-
....tests.test_etree.ETreeWriteTestCase-class.html | 2 +-
...sts.test_etree.ETreeXIncludeTestCase-class.html | 2 +-
...ts.test_etree.ElementIncludeTestCase-class.html | 2 +-
...l.tests.test_etree.XMLPullParserTest-class.html | 6 +-
...l.tests.test_etree._XIncludeTestCase-class.html | 2 +-
.../api/lxml.tests.test_htmlparser-module.html | 2 +-
doc/html/api/lxml.tests.test_htmlparser-pysrc.html | 2 +-
...s.test_htmlparser.HtmlParserTestCase-class.html | 6 +-
doc/html/api/lxml.tests.test_http_io-module.html | 2 +-
doc/html/api/lxml.tests.test_http_io-pysrc.html | 2 +-
...ml.tests.test_http_io.HttpIOTestCase-class.html | 6 +-
...lxml.tests.test_incremental_xmlfile-module.html | 2 +-
.../lxml.tests.test_incremental_xmlfile-pysrc.html | 707 +-
...ental_xmlfile.BytesIOXmlFileTestCase-class.html | 3 +-
...incremental_xmlfile.HtmlFileTestCase-class.html | 3 +-
...mlfile.SimpleFileLikeXmlFileTestCase-class.html | 3 +-
...leLikeXmlFileTestCase.SimpleFileLike-class.html | 2 +-
...ntal_xmlfile.TempPathXmlFileTestCase-class.html | 3 +-
...remental_xmlfile.TempXmlFileTestCase-class.html | 3 +-
...emental_xmlfile._XmlFileTestCaseBase-class.html | 18 +-
doc/html/api/lxml.tests.test_io-module.html | 2 +-
doc/html/api/lxml.tests.test_io-pysrc.html | 2 +-
.../lxml.tests.test_io.ETreeIOTestCase-class.html | 6 +-
....tests.test_io.ElementTreeIOTestCase-class.html | 8 +-
.../lxml.tests.test_io._IOTestCaseBase-class.html | 2 +-
.../api/lxml.tests.test_isoschematron-module.html | 2 +-
.../api/lxml.tests.test_isoschematron-pysrc.html | 2 +-
...chematron.ETreeISOSchematronTestCase-class.html | 2 +-
doc/html/api/lxml.tests.test_nsclasses-module.html | 2 +-
doc/html/api/lxml.tests.test_nsclasses-pysrc.html | 2 +-
...lasses.ETreeNamespaceClassesTestCase-class.html | 2 +-
...NamespaceClassesTestCase.bluff_class-class.html | 2 +-
...mespaceClassesTestCase.default_class-class.html | 2 +-
...eNamespaceClassesTestCase.maeh_class-class.html | 2 +-
doc/html/api/lxml.tests.test_objectify-module.html | 2 +-
doc/html/api/lxml.tests.test_objectify-pysrc.html | 2 +-
...sts.test_objectify.ObjectifyTestCase-class.html | 6 +-
.../api/lxml.tests.test_pyclasslookup-module.html | 2 +-
.../api/lxml.tests.test_pyclasslookup-pysrc.html | 2 +-
..._pyclasslookup.PyClassLookupTestCase-class.html | 6 +-
doc/html/api/lxml.tests.test_relaxng-module.html | 2 +-
doc/html/api/lxml.tests.test_relaxng-pysrc.html | 2 +-
...ts.test_relaxng.ETreeRelaxNGTestCase-class.html | 2 +-
doc/html/api/lxml.tests.test_sax-module.html | 2 +-
doc/html/api/lxml.tests.test_sax-pysrc.html | 2 +-
...lxml.tests.test_sax.ETreeSaxTestCase-class.html | 2 +-
.../api/lxml.tests.test_schematron-module.html | 2 +-
doc/html/api/lxml.tests.test_schematron-pysrc.html | 2 +-
...t_schematron.ETreeSchematronTestCase-class.html | 2 +-
doc/html/api/lxml.tests.test_threading-module.html | 2 +-
doc/html/api/lxml.tests.test_threading-pysrc.html | 46 +-
...est_threading.ThreadPipelineTestCase-class.html | 6 +-
...ipelineTestCase.ParseAndExtendWorker-class.html | 94 +-
...g.ThreadPipelineTestCase.ParseWorker-class.html | 94 +-
...ThreadPipelineTestCase.ReverseWorker-class.html | 2 +-
....ThreadPipelineTestCase.RotateWorker-class.html | 2 +-
...readPipelineTestCase.SerialiseWorker-class.html | 2 +-
...eading.ThreadPipelineTestCase.Worker-class.html | 2 +-
...sts.test_threading.ThreadingTestCase-class.html | 6 +-
doc/html/api/lxml.tests.test_unicode-module.html | 2 +-
doc/html/api/lxml.tests.test_unicode-pysrc.html | 2 +-
...tests.test_unicode.EncodingsTestCase-class.html | 2 +-
...l.tests.test_unicode.UnicodeTestCase-class.html | 2 +-
doc/html/api/lxml.tests.test_xmlschema-module.html | 2 +-
doc/html/api/lxml.tests.test_xmlschema-pysrc.html | 2 +-
...hema.ETreeXMLSchemaResolversTestCase-class.html | 2 +-
...emaResolversTestCase.simple_resolver-class.html | 2 +-
...est_xmlschema.ETreeXMLSchemaTestCase-class.html | 2 +-
.../api/lxml.tests.test_xpathevaluator-module.html | 4 +-
.../api/lxml.tests.test_xpathevaluator-pysrc.html | 2 +-
...hevaluator.ETreeETXPathClassTestCase-class.html | 2 +-
...athevaluator.ETreeXPathClassTestCase-class.html | 2 +-
...athevaluator.ETreeXPathExsltTestCase-class.html | 2 +-
...st_xpathevaluator.ETreeXPathTestCase-class.html | 2 +-
doc/html/api/lxml.tests.test_xslt-module.html | 2 +-
doc/html/api/lxml.tests.test_xslt-pysrc.html | 2 +-
...l.tests.test_xslt.ETreeEXSLTTestCase-class.html | 2 +-
...est_xslt.ETreeXSLTExtElementTestCase-class.html | 2 +-
...s.test_xslt.ETreeXSLTExtFuncTestCase-class.html | 2 +-
...ml.tests.test_xslt.ETreeXSLTTestCase-class.html | 2 +-
...lxml.tests.test_xslt.Py3XSLTTestCase-class.html | 2 +-
doc/html/api/lxml.usedoctest-module.html | 2 +-
doc/html/api/lxml.usedoctest-pysrc.html | 2 +-
doc/html/api/mimetools.Message-class.html | 2 +-
doc/html/api/module-tree.html | 7 +-
doc/html/api/redirect.html | 2 +-
doc/html/api/str-class.html | 2 +-
doc/html/api/toc-everything.html | 10 +-
doc/html/api/toc-lxml.html-module.html | 3 +
.../toc-lxml.tests.test_elementpath-module.html | 36 +
doc/html/api/toc.html | 3 +-
doc/html/api/xml.etree.ElementTree-module.html | 17 +-
doc/html/api/xml.etree.ElementTree-pysrc.html | 2 +-
.../api/xml.etree.ElementTree.Element-class.html | 2 +-
.../xml.etree.ElementTree.ElementTree-class.html | 2 +-
.../xml.etree.ElementTree.ParseError-class.html | 2 +-
.../api/xml.etree.ElementTree.QName-class.html | 2 +-
.../xml.etree.ElementTree.TreeBuilder-class.html | 2 +-
.../api/xml.etree.ElementTree.XMLParser-class.html | 2 +-
...etree.ElementTree._IterParseIterator-class.html | 2 +-
...etree.ElementTree._SimpleElementPath-class.html | 2 +-
doc/html/build.html | 4 +-
doc/html/capi.html | 4 +-
.../{changes-3.4.2.html => changes-3.4.3.html} | 663 +-
doc/html/compatibility.html | 4 +-
doc/html/credits.html | 4 +-
doc/html/cssselect.html | 4 +-
doc/html/element_classes.html | 4 +-
doc/html/elementsoup.html | 4 +-
doc/html/extensions.html | 4 +-
doc/html/html5parser.html | 4 +-
doc/html/index.html | 13 +-
doc/html/installation.html | 125 +-
doc/html/intro.html | 4 +-
doc/html/lxml-source-howto.html | 4 +-
doc/html/lxmlhtml.html | 4 +-
doc/html/objectify.html | 4 +-
doc/html/parsing.html | 4 +-
doc/html/performance.html | 4 +-
doc/html/resolvers.html | 4 +-
doc/html/sax.html | 4 +-
doc/html/sitemap.html | 2 +-
doc/html/tutorial.html | 4 +-
doc/html/validation.html | 4 +-
doc/html/xpathxslt.html | 4 +-
doc/main.txt | 10 +-
src/lxml.egg-info/PKG-INFO | 19 +-
src/lxml.egg-info/SOURCES.txt | 8 +-
src/lxml/_elementpath.py | 7 +-
src/lxml/html/__init__.py | 15 +-
src/lxml/html/tests/test_rewritelinks.txt | 12 +
src/lxml/includes/lxml-version.h | 2 +-
src/lxml/lxml.etree.c | 10264 ++++++++++---------
src/lxml/lxml.etree.h | 6 +-
src/lxml/lxml.etree.pyx | 17 +-
src/lxml/lxml.objectify.c | 2 +-
src/lxml/serializer.pxi | 20 +-
src/lxml/tests/test_dtd.py | 25 +
src/lxml/tests/test_elementpath.py | 47 +
src/lxml/tests/test_incremental_xmlfile.py | 10 +
src/lxml/tests/test_threading.py | 8 +-
src/lxml/xslt.pxi | 2 +
version.txt | 2 +-
442 files changed, 11995 insertions(+), 10153 deletions(-)
create mode 100644 doc/html/api/lxml.tests.test_elementpath-module.html
create mode 100644 doc/html/api/lxml.tests.test_elementpath-pysrc.html
create mode 100644 doc/html/api/lxml.tests.test_elementpath.ElementTreeElementPathTestCase-class.html
create mode 100644 doc/html/api/lxml.tests.test_elementpath.EtreeElementPathTestCase-class.html
create mode 100644 doc/html/api/toc-lxml.tests.test_elementpath-module.html
rename doc/html/{changes-3.4.2.html => changes-3.4.3.html} (99%)
create mode 100644 src/lxml/tests/test_elementpath.py
diff --git a/CHANGES.txt b/CHANGES.txt
index 94e7980..e46ec36 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,24 @@
lxml changelog
==============
+3.4.3 (2015-04-15)
+==================
+
+Bugs fixed
+----------
+
+* Expression cache in ElementPath was ignored. Fix by Changaco.
+
+* LP#1426868: Passing a default namespace and a prefixed namespace mapping
+ as nsmap into ``xmlfile.element()`` raised a ``TypeError``.
+
+* LP#1421927: DOCTYPE system URLs were incorrectly quoted when containing
+ double quotes. Patch by Olli Pottonen.
+
+* LP#1419354: meta-redirect URLs were incorrectly processed by
+ ``iterlinks()`` if preceded by whitespace.
+
+
3.4.2 (2015-02-07)
==================
diff --git a/INSTALL.txt b/INSTALL.txt
index a9cfcb5..ca616c9 100644
--- a/INSTALL.txt
+++ b/INSTALL.txt
@@ -1,17 +1,41 @@
Installing lxml
===============
-For special installation instructions regarding MS Windows and
-MacOS-X, see the specific sections below.
-
-.. contents::
+.. contents:: :depth: 1
..
- 1 Requirements
- 2 Installation
- 3 Building lxml from sources
- 4 Using lxml with python-libxml2
- 5 MS Windows
- 6 MacOS-X
+ 1 Where to get it
+ 2 Requirements
+ 3 Installation
+ 4 Building lxml from dev sources
+ 5 Using lxml with python-libxml2
+ 6 Source builds on MS Windows
+ 7 Source builds on MacOS-X
+
+
+Where to get it
+---------------
+
+lxml is generally distributed through PyPI_.
+
+.. _PyPI: http://pypi.python.org/pypi/lxml
+
+Most **Linux** platforms come with some version of lxml readily
+packaged, usually named ``python-lxml`` for the Python 2.x version
+and ``python3-lxml`` for Python 3.x. If you can use that version,
+the quickest way to install lxml is to use the system package
+manager, e.g. ``apt-get`` on Debian/Ubuntu::
+
+ sudo apt-get install python3-lxml
+
+For **MacOS-X**, a `macport `_ of lxml is available.
+Try something like
+
+::
+
+ sudo port install py27-lxml
+
+To install a newer version or to install lxml on other systems,
+see below.
Requirements
@@ -20,11 +44,10 @@ Requirements
You need Python 2.6 or later.
Unless you are using a static binary distribution (e.g. from a
-Windows binary installer), you need to install libxml2 and libxslt,
-in particular:
+Windows binary installer), lxml requires libxml2 and libxslt to
+be installed, in particular:
-* libxml2 2.7.0 or later. It can be found here:
- http://xmlsoft.org/downloads.html
+* `libxml2 `_ version 2.7.0 or later.
* We recommend libxml2 2.9.0 or a later version.
@@ -32,8 +55,7 @@ in particular:
parsing from unicode strings, do not use libxml2 2.7.4 through
2.7.6.
-* libxslt 1.1.23 or later. It can be found here:
- http://xmlsoft.org/XSLT/downloads.html
+* `libxslt `_ version 1.1.23 or later.
* We recommend libxslt 1.1.26 or later. Version 1.1.25 will not
work due to a missing library symbol.
@@ -48,22 +70,34 @@ e.g. apt-get on Debian/Ubuntu::
sudo apt-get install libxml2-dev libxslt-dev python-dev
-.. _PyPI: http://pypi.python.org/pypi/lxml
+For Debian based systems, it should be enough to install the known
+build dependencies of the provided lxml package, e.g.
+
+::
+
+ sudo apt-get build-dep python3-lxml
Installation
------------
-The best way to install lxml is to get the pip_ package management
-tool and run the following as super-user (or administrator)::
+If your system does not provide binary packages or you want to install
+a newer version, the best way is to get the pip_ package management tool
+(or use a `virtualenv `_) and
+run the following::
pip install lxml
+If you are not using pip in a virtualenv and want to install lxml globally
+instead, you have to run the above command as admin, e.g. on Linux::
+
+ sudo pip install lxml
+
To install a specific version, either download the distribution
manually and let pip install that, or pass the desired version
to pip::
- pip install lxml==3.1.2
+ pip install lxml==3.4.2
.. _pip: http://pypi.python.org/pypi/pip
@@ -73,33 +107,46 @@ the ``CFLAGS`` environment variable::
CFLAGS="-O0" pip install lxml
-* For **MS Windows**, recent lxml releases feature community donated
- binary distributions, although you might still want to take a look
- at the related `FAQ entry `_.
- If you fail to build lxml on your MS Windows system from the signed
- and tested sources that we release, consider using the binary builds
- from PyPI or the `unofficial Windows binaries
- `_
- that Christoph Gohlke generously provides.
+(The option reads "minus Oh Zero", i.e. zero optimisations.)
-* On **Linux** (and most other well-behaved operating systems),
- ``pip`` will manage to build the source distribution as
- long as libxml2 and libxslt are properly installed, including
- development packages, i.e. header files, etc. Use your package
- management tool to look for packages like ``libxml2-dev`` or
- ``libxslt-devel`` if the build fails, and make sure they are
- installed. Alternatively, setting ``STATIC_DEPS=true`` will
- download and build both libraries automatically.
+MS Windows
+..........
+
+For MS Windows, recent lxml releases feature community donated
+binary distributions, although you might still want to take a look
+at the related `FAQ entry `_.
+If you fail to build lxml on your MS Windows system from the signed
+and tested sources that we release, consider using the binary builds
+from PyPI or the `unofficial Windows binaries
+`_
+that Christoph Gohlke generously provides.
+
+Linux
+.....
+
+On Linux (and most other well-behaved operating systems), ``pip`` will
+manage to build the source distribution as long as libxml2 and libxslt
+are properly installed, including development packages, i.e. header files,
+etc. See the requirements section above and use your system package
+management tool to look for packages like ``libxml2-dev`` or
+``libxslt-devel``. If the build fails, make sure they are installed.
+
+Alternatively, setting ``STATIC_DEPS=true`` will download and build
+both libraries automatically in their latest version, e.g.
+``STATIC_DEPS=true pip install lxml``.
-* On **MacOS-X**, use the following to build the source distribution,
- and make sure you have a working Internet connection, as this will
- download libxml2 and libxslt in order to build them::
+MacOS-X
+.......
+
+On MacOS-X, use the following to build the source distribution,
+and make sure you have a working Internet connection, as this will
+download libxml2 and libxslt in order to build them::
- STATIC_DEPS=true sudo pip install lxml
+ STATIC_DEPS=true sudo pip install lxml
-Building lxml from sources
---------------------------
+Building lxml from dev sources
+------------------------------
If you want to build lxml from the GitHub repository, you should read
`how to build lxml from source`_ (or the file ``doc/build.txt`` in the
@@ -142,8 +189,8 @@ the ``STATIC_DEPS`` variable, but is used by some other extension
packages, too.
-MS Windows
-----------
+Source builds on MS Windows
+---------------------------
Most MS Windows systems lack the necessarily tools to build software,
starting with a C compiler already. Microsoft leaves it to users to
@@ -163,17 +210,15 @@ same download site. Further build instructions are in the
`source build documentation `_.
-MacOS-X
--------
-
-A `macport `_ of lxml is available. Try
-something like ``port install py25-lxml``.
+Source builds on MacOS-X
+------------------------
-If you want to use a more recent lxml release, you may have to build
-it yourself. While the pre-installed system libraries of libxml2
-and libxslt are less outdated in recent MacOS-X versions than they
-used to be, so lxml should work them them out of the box, it is still
-recommended to use a static build with the most recent versions.
+If you are not using macports or want to use a more recent lxml
+release, you have to build it yourself. While the pre-installed system
+libraries of libxml2 and libxslt are less outdated in recent MacOS-X
+versions than they used to be, so lxml should work them them out of the
+box, it is still recommended to use a static build with the most recent
+library versions.
Luckily, lxml's ``setup.py`` script has built-in support for building
and integrating these libraries statically during the build. Please
diff --git a/PKG-INFO b/PKG-INFO
index 29196cd..7b7ef42 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.1
Name: lxml
-Version: 3.4.2
+Version: 3.4.3
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.2.tar.gz
+Download-URL: http://pypi.python.org/packages/source/l/lxml/lxml-3.4.3.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,21 +37,22 @@ 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.2 (2015-02-07)
+ 3.4.3 (2015-04-15)
==================
Bugs fixed
----------
- * LP#1415907: Crash when creating an XMLSchema from a non-root element
- of an XML document.
+ * Expression cache in ElementPath was ignored. Fix by Changaco.
- * LP#1369362: HTML cleaning failed when hitting processing instructions
- with pseudo-attributes.
+ * LP#1426868: Passing a default namespace and a prefixed namespace mapping
+ as nsmap into ``xmlfile.element()`` raised a ``TypeError``.
- * ``CDATA()`` wrapped content was rejected for tail text.
+ * LP#1421927: DOCTYPE system URLs were incorrectly quoted when containing
+ double quotes. Patch by Olli Pottonen.
- * CDATA sections were not serialised as tail text of the top-level element.
+ * LP#1419354: meta-redirect URLs were incorrectly processed by
+ ``iterlinks()`` if preceded by whitespace.
diff --git a/doc/html/FAQ.html b/doc/html/FAQ.html
index 81b94ef..02b2abc 100644
--- a/doc/html/FAQ.html
+++ b/doc/html/FAQ.html
@@ -10,7 +10,7 @@
-
lxml FAQ - Frequently Asked Questions
+
lxml FAQ - Frequently Asked Questions
Frequently asked questions on lxml. See also the notes on compatibility to
ElementTree.
@@ -935,7 +935,7 @@ map it to your namespace. See also the question above.
diff --git a/doc/html/api.html b/doc/html/api.html
index 9f98f04..481c02f 100644
--- a/doc/html/api.html
+++ b/doc/html/api.html
@@ -8,7 +8,7 @@
-
APIs specific to lxml.etree
+
APIs specific to lxml.etree
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
@@ -496,7 +496,7 @@ example:
diff --git a/doc/html/api/abc.ABCMeta-class.html b/doc/html/api/abc.ABCMeta-class.html
index 2ea3ee6..b705b3b 100644
--- a/doc/html/api/abc.ABCMeta-class.html
+++ b/doc/html/api/abc.ABCMeta-class.html
@@ -426,7 +426,7 @@ even via super()).