[hide private]
[frames] | no frames]

[ Module Hierarchy | Class Hierarchy ]

# Class Hierarchy

- SocketServer.BaseRequestHandler: Base class for request handler classes.
  - SocketServer.StreamRequestHandler: Define self.rfile and self.wfile for stream sockets.
    - BaseHTTPServer.BaseHTTPRequestHandler: HTTP request handler base class.
      - wsgiref.simple_server.WSGIRequestHandler
        - lxml.tests.dummy_http_server._RequestHandler
- SocketServer.BaseServer: Base class for server classes.
  - SocketServer.TCPServer: Base class for various socket-based server classes.
    - BaseHTTPServer.HTTPServer
      - wsgiref.simple_server.WSGIServer: BaseHTTPServer that implements the Python WSGI protocol
        - lxml.tests.dummy_http_server.WebServer: A web server that starts a new thread for each request.
- xml.sax.handler.ContentHandler: Interface for receiving logical document content events.
  - lxml.sax.ElementTreeContentHandler: Build an lxml ElementTree from SAX events.
- lxml.html.diff.DEL_END
- lxml.html.diff.DEL_START
- lxml.tests.test_doctestcompare.DummyInput
- lxml.tests.common_imports.LargeFileLike
  - lxml.tests.common_imports.LargeFileLikeUnicode
- rfc822.Message: Represents a single RFC 2822-compliant message.
  - mimetools.Message: A derived class of rfc822.Message that knows about MIME headers and contains some hooks for decoding encoded and multipart messages.
- doctest.OutputChecker: A class used to check the whether the actual output from a doctest example matches the expected output. `OutputChecker` defines two methods: `check_output`, which compares a given pair of outputs, and returns true if they match; and `output_difference`, which returns a string describing the differences between two outputs.
  - lxml.doctestcompare.LXMLOutputChecker
    - lxml.doctestcompare.LHTMLOutputChecker
- difflib.SequenceMatcher: SequenceMatcher is a flexible class for comparing pairs of sequences of any type, so long as the sequence elements are hashable. The basic algorithm predates, and is a little fancier than, an algorithm published in the late 1980's by Ratcliff and Obershelp under the hyperbolic name "gestalt pattern matching". The basic idea is to find the longest contiguous matching subsequence that contains no "junk" elements (R-O doesn't address junk). The same idea is then applied recursively to the pieces of the sequences to the left and to the right of the matching subsequence. This does not yield minimal edit sequences, but does tend to yield matches that "look right" to people.
  - lxml.html.diff.InsensitiveSequenceMatcher: Acts like SequenceMatcher, but tries not to find very small equal blocks amidst large spans of changes
- lxml.tests.common_imports.SillyFileLike
- SocketServer.ThreadingMixIn: Mix-in class to handle each request in a new thread.
  - lxml.tests.dummy_http_server.WebServer: A web server that starts a new thread for each request.
- html5lib.XHTMLParser
- lxml.html.soupparser._PseudoTag
- object: The most base type
  - exceptions.BaseException: Common base class for all exceptions
    - exceptions.Exception: Common base class for all non-exit exceptions.
      - lxml.etree.Error
        - lxml.etree.LxmlError: Main exception base class for lxml. All other exceptions inherit from this one.
          - lxml.etree.C14NError: Error during C14N serialisation.
          - lxml.etree.DTDError: Base class for DTD errors.
            - lxml.etree.DTDParseError: Error while parsing a DTD.
            - lxml.etree.DTDValidateError: Error while validating an XML document with a DTD.
          - lxml.etree.DocumentInvalid: Validation error.
          - lxml.etree.LxmlRegistryError: Base class of lxml registry errors.
            - lxml.etree.NamespaceRegistryError: Error registering a namespace extension.
          - lxml.etree.LxmlSyntaxError: Base class for all syntax errors.
            - lxml.ElementInclude.FatalIncludeError
            - lxml.etree.ParseError: Syntax error while parsing an XML document.
              - lxml.etree.XMLSyntaxError: Syntax error while parsing an XML document.
            - lxml.etree.XPathSyntaxError
          - lxml.etree.ParserError: Internal lxml parser error.
          - lxml.etree.RelaxNGError: Base class for RelaxNG errors.
            - lxml.etree.RelaxNGParseError: Error while parsing an XML document as RelaxNG.
            - lxml.etree.RelaxNGValidateError: Error while validating an XML document with a RelaxNG schema.
          - lxml.sax.SaxError: General SAX error.
          - lxml.etree.SchematronError: Base class of all Schematron errors.
            - lxml.etree.SchematronParseError: Error while parsing an XML document as Schematron schema.
            - lxml.etree.SchematronValidateError: Error while validating an XML document with a Schematron schema.
          - lxml.etree.SerialisationError: A libxml2 error that occurred during serialisation.
            - lxml.etree.XSLTSaveError: Error serialising an XSLT result.
          - lxml.etree.XIncludeError: Error during XInclude processing.
          - lxml.etree.XMLSchemaError: Base class of all XML Schema errors
            - lxml.etree.XMLSchemaParseError: Error while parsing an XML document as XML Schema.
            - lxml.etree.XMLSchemaValidateError: Error while validating an XML document with an XML Schema.
          - lxml.etree.XPathError: Base class of all XPath errors.
            - lxml.etree.XPathEvalError: Error during XPath evaluation.
              - lxml.etree.XPathFunctionError: Internal error looking up an XPath extension function.
              - lxml.etree.XPathResultError: Error handling an XPath result.
            - lxml.etree.XPathSyntaxError
          - lxml.etree.XSLTError: Base class of all XSLT errors.
            - lxml.etree.XSLTApplyError: Error running an XSL transformation.
            - lxml.etree.XSLTExtensionError: Error registering an XSLT extension.
            - lxml.etree.XSLTParseError: Error parsing a stylesheet document.
            - lxml.etree.XSLTSaveError: Error serialising an XSLT result.
      - lxml.html.diff.NoDeletes: Raised when the document no longer contains any pending deletes (DEL_START/DEL_END)
      - cssselect.parser.SelectorError: Common parent for :class:`SelectorSyntaxError` and :class:`ExpressionError`.
        - cssselect.xpath.ExpressionError: Unknown or unsupported selector (eg. pseudo-class).
        - cssselect.parser.SelectorSyntaxError: Parsing a selector that does not match the grammar.
      - exceptions.StandardError: Base class for all standard Python exceptions that do not represent interpreter exiting.
        - exceptions.AssertionError: Assertion failed.
        - exceptions.LookupError: Base class for lookup errors.
          - lxml.html.formfill.FormNotFound: Raised when no form can be found
        - exceptions.RuntimeError: Unspecified run-time error.
          - cssselect.xpath.ExpressionError: Unknown or unsupported selector (eg. pseudo-class).
        - exceptions.SyntaxError: Invalid syntax.
          - lxml.etree.LxmlSyntaxError: Base class for all syntax errors.
            - lxml.ElementInclude.FatalIncludeError
            - lxml.etree.ParseError: Syntax error while parsing an XML document.
              - lxml.etree.XMLSyntaxError: Syntax error while parsing an XML document.
            - lxml.etree.XPathSyntaxError
          - xml.etree.ElementTree.ParseError
          - cssselect.parser.SelectorSyntaxError: Parsing a selector that does not match the grammar.
      - lxml.etree._TargetParserResult
  - lxml.etree.CDATA: CDATA(data)
  - lxml.html.clean.Cleaner: Instances cleans the document of each of the possible offending elements. The cleaning is controlled by attributes; you can override attributes in a subclass, or set them in the constructor.
  - _abcoll.Container
    - _abcoll.Mapping: A Mapping is a generic container for associating key/value pairs.
      - _abcoll.MutableMapping: A MutableMapping is a generic container for associating key/value pairs.
        - lxml.html.FieldsDict
    - _abcoll.Set: A set is a finite, iterable container.
      - _abcoll.MutableSet: A mutable set is a finite, iterable container.
        - lxml.html.Classes: Provides access to an element's class attribute as a set-like collection. Usage:
        - lxml.html._setmixin.SetMixin: Mix-in for sets. You must define __iter__, add, remove
          - lxml.html.CheckboxValues: Represents the values of the checked checkboxes in a group of checkboxes with the same name.
          - lxml.html.MultipleSelectOptions: Represents all the selected options in a `<select multiple>` element.
  - lxml.html.formfill.DefaultErrorCreator
  - lxml.etree.DocInfo: Document information provided by parser and DTD.
  - xml.etree.ElementTree.Element
  - lxml.etree.ElementClassLookup: ElementClassLookup(self) Superclass of Element class lookups.
    - lxml.etree.ElementDefaultClassLookup: ElementDefaultClassLookup(self, element=None, comment=None, pi=None, entity=None) Element class lookup scheme that always returns the default Element class.
    - lxml.etree.FallbackElementClassLookup: FallbackElementClassLookup(self, fallback=None)
      - lxml.etree.AttributeBasedElementClassLookup: AttributeBasedElementClassLookup(self, attribute_name, class_mapping, fallback=None) Checks an attribute of an Element and looks up the value in a class dictionary.
      - lxml.etree.CustomElementClassLookup: CustomElementClassLookup(self, fallback=None) Element class lookup based on a subclass method.
        - lxml.html.HtmlElementClassLookup: A lookup scheme for HTML Element classes.
      - lxml.etree.ElementNamespaceClassLookup: ElementNamespaceClassLookup(self, fallback=None)
      - lxml.etree.ParserBasedElementClassLookup: ParserBasedElementClassLookup(self, fallback=None) Element class lookup based on the XML parser.
      - lxml.etree.PythonElementClassLookup: PythonElementClassLookup(self, fallback=None) Element class lookup based on a subclass method.
    - lxml.objectify.ObjectifyElementClassLookup: ObjectifyElementClassLookup(self, tree_class=None, empty_data_class=None) Element class lookup method that uses the objectify classes.
  - lxml.etree.ElementDepthFirstIterator: ElementDepthFirstIterator(self, node, tag=None, inclusive=True) Iterates over an element and its sub-elements in document order (depth first pre-order).
  - lxml.builder.ElementMaker: Element generator factory.
  - lxml.objectify.ElementMaker: ElementMaker(self, namespace=None, nsmap=None, annotate=True, makeelement=None)
  - lxml.etree.ElementTextIterator: ElementTextIterator(self, element, tag=None, with_tail=True) Iterates over the text content of a subtree.
  - xml.etree.ElementTree.ElementTree
  - lxml.sax.ElementTreeProducer: Produces SAX events for an element and children.
  - lxml.etree.ErrorDomains: Libxml2 error domains
  - lxml.etree.ErrorLevels: Libxml2 error levels
  - lxml.etree.ErrorTypes: Libxml2 error types
  - cssselect.xpath.GenericTranslator: Translator for "generic" XML documents.
    - cssselect.xpath.HTMLTranslator: Translator for (X)HTML documents.
      - lxml.cssselect.LxmlHTMLTranslator: lxml extensions + HTML support.
    - lxml.cssselect.LxmlTranslator: A custom CSS selector to XPath translator with lxml-specific extensions.
      - lxml.cssselect.LxmlHTMLTranslator: lxml extensions + HTML support.
  - html5lib.html5parser.HTMLParser: HTML parser. Generates a tree structure from a stream of (possibly malformed) HTML
    - lxml.html.html5parser.HTMLParser: An html5lib HTML parser with lxml as tree.
  - lxml.tests.dummy_http_server.HTTPRequestCollector
  - lxml.html.HtmlMixin
    - lxml.html.HtmlComment
    - lxml.html.HtmlElement
      - lxml.html.FormElement: Represents a <form> element.
      - lxml.html.InputElement: Represents an `<input>` element.
      - lxml.html.LabelElement: Represents a `<label>` element.
      - lxml.html.SelectElement: `<select>` element. You can get the name with `.name`.
      - lxml.html.TextareaElement: `<textarea>` element. You can get the name with `.name` and get/set the value with `.value`
    - lxml.html.HtmlEntity
    - lxml.html.HtmlProcessingInstruction
  - lxml.html.InputGetter: An accessor that represents all the input fields in a form.
  - lxml.html.InputMixin: Mix-in for all input elements (input, select, and textarea)
    - lxml.html.InputElement: Represents an `<input>` element.
    - lxml.html.SelectElement: `<select>` element. You can get the name with `.name`.
    - lxml.html.TextareaElement: `<textarea>` element. You can get the name with `.name` and get/set the value with `.value`
  - _abcoll.Iterable
    - _abcoll.Mapping: A Mapping is a generic container for associating key/value pairs.
      - _abcoll.MutableMapping: A MutableMapping is a generic container for associating key/value pairs.
        - lxml.html.FieldsDict
    - _abcoll.Set: A set is a finite, iterable container.
      - _abcoll.MutableSet: A mutable set is a finite, iterable container.
        - lxml.html.Classes: Provides access to an element's class attribute as a set-like collection. Usage:
        - lxml.html._setmixin.SetMixin: Mix-in for sets. You must define __iter__, add, remove
          - lxml.html.CheckboxValues: Represents the values of the checked checkboxes in a group of checkboxes with the same name.
          - lxml.html.MultipleSelectOptions: Represents all the selected options in a `<select multiple>` element.
  - lxml.objectify.ObjectPath: ObjectPath(path) Immutable object that represents a compiled object path.
  - lxml.objectify.PyType: PyType(self, name, type_check, type_class, stringify=None) User defined type.
  - xml.etree.ElementTree.QName
  - lxml.etree.QName: QName(text_or_uri_or_element, tag=None)
  - lxml.etree.RelaxNGErrorTypes: Libxml2 RelaxNG error types
  - lxml.etree.Resolver: This is the base class of all resolvers.
    - lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase.simple_resolver
  - lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase.SimpleFileLike
  - _abcoll.Sized
    - _abcoll.Mapping: A Mapping is a generic container for associating key/value pairs.
      - _abcoll.MutableMapping: A MutableMapping is a generic container for associating key/value pairs.
        - lxml.html.FieldsDict
    - _abcoll.Set: A set is a finite, iterable container.
      - _abcoll.MutableSet: A mutable set is a finite, iterable container.
        - lxml.html.Classes: Provides access to an element's class attribute as a set-like collection. Usage:
        - lxml.html._setmixin.SetMixin: Mix-in for sets. You must define __iter__, add, remove
          - lxml.html.CheckboxValues: Represents the values of the checked checkboxes in a group of checkboxes with the same name.
          - lxml.html.MultipleSelectOptions: Represents all the selected options in a `<select multiple>` element.
  - unittest.case.TestCase: A class whose instances are single test cases.
    - lxml.tests.common_imports.HelperTestCase
      - lxml.tests.test_incremental_xmlfile.AsyncXmlFileTestCase
      - lxml.tests.test_builder.BuilderTestCase
      - lxml.tests.test_css.CSSTestCase
      - lxml.tests.test_classlookup.ClassLookupTestCase: Test cases for different Element class lookup mechanisms.
      - lxml.tests.test_doctestcompare.DoctestCompareTest
      - lxml.tests.test_etree.ETreeC14NTestCase
      - lxml.tests.test_dtd.ETreeDtdTestCase
      - lxml.tests.test_xpathevaluator.ETreeETXPathClassTestCase: Tests for the ETXPath class
      - lxml.tests.test_xslt.ETreeEXSLTTestCase: EXSLT tests
      - lxml.tests.test_etree.ETreeErrorLogTest
      - lxml.tests.test_isoschematron.ETreeISOSchematronTestCase
      - lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase
      - lxml.tests.test_etree.ETreeOnlyTestCase: Tests only for etree, not ElementTree
      - lxml.tests.test_relaxng.ETreeRelaxNGTestCase
      - lxml.tests.test_sax.ETreeSaxTestCase
      - lxml.tests.test_schematron.ETreeSchematronTestCase
      - lxml.tests.test_etree.ETreeWriteTestCase
      - lxml.tests.test_xmlschema.ETreeXMLSchemaResolversTestCase
      - lxml.tests.test_xmlschema.ETreeXMLSchemaTestCase
      - lxml.tests.test_xpathevaluator.ETreeXPathClassTestCase: Tests for the XPath class
      - lxml.tests.test_xpathevaluator.ETreeXPathExsltTestCase: Tests for the EXSLT support in XPath (requires libxslt 1.1.25+)
      - lxml.tests.test_xpathevaluator.ETreeXPathTestCase: XPath tests etree
      - lxml.tests.test_xslt.ETreeXSLTExtElementTestCase: Tests for extension elements in XSLT.
      - lxml.tests.test_xslt.ETreeXSLTExtFuncTestCase: Tests for XPath extension functions in XSLT.
      - lxml.tests.test_xslt.ETreeXSLTTestCase: XSLT tests etree
      - lxml.tests.test_unicode.EncodingsTestCase
      - lxml.tests.test_errors.ErrorTestCase
      - lxml.tests.test_elementpath.EtreeElementPathTestCase
      - lxml.tests.test_external_document.ExternalDocumentTestCase
      - lxml.tests.test_htmlparser.HtmlParserTestCase: HTML parser test cases
      - lxml.tests.test_http_io.HttpIOTestCase
      - lxml.tests.test_objectify.ObjectifyTestCase: Test cases for lxml.objectify
      - lxml.tests.test_classlookup.ProxyTestCase: Basic tests for element proxy behaviour.
      - lxml.tests.test_xslt.Py3XSLTTestCase: XSLT tests for etree under Python 3
      - lxml.tests.test_pyclasslookup.PyClassLookupTestCase: Test cases for the lxml.pyclasslookup class lookup mechanism.
      - lxml.tests.test_relaxng.RelaxNGCompactTestCase
      - lxml.tests.test_threading.ThreadPipelineTestCase: Threading tests based on a thread worker pipeline.
      - lxml.tests.test_threading.ThreadingTestCase: Threading tests
      - lxml.tests.test_unicode.UnicodeTestCase
      - lxml.tests.test_elementtree._ETreeTestCaseBase
        - lxml.tests.test_elementtree.ETreeTestCase
        - lxml.tests.test_elementtree.ElementTreeTestCase
      - lxml.tests.test_io._IOTestCaseBase: (c)ElementTree compatibility for IO functions/methods
        - lxml.tests.test_io.ETreeIOTestCase
        - lxml.tests.test_io.ElementTreeIOTestCase
      - lxml.tests.test_etree._XIncludeTestCase
        - lxml.tests.test_etree.ETreeXIncludeTestCase
        - lxml.tests.test_etree.ElementIncludeTestCase
      - lxml.tests.test_incremental_xmlfile._XmlFileTestCaseBase
        - lxml.tests.test_incremental_xmlfile.BytesIOXmlFileTestCase
        - lxml.tests.test_incremental_xmlfile.HtmlFileTestCase
        - lxml.tests.test_incremental_xmlfile.SimpleFileLikeXmlFileTestCase
        - lxml.tests.test_incremental_xmlfile.TempPathXmlFileTestCase
        - lxml.tests.test_incremental_xmlfile.TempXmlFileTestCase
    - lxml.tests.test_etree.XMLPullParserTest
    - lxml.tests.test_elementtree._XMLPullParserTest
      - lxml.tests.test_elementtree.ETreePullTestCase
  - xml.etree.ElementTree.TreeBuilder
  - lxml.etree.XInclude: XInclude(self) XInclude processor.
  - xml.etree.ElementTree.XMLParser
  - cssselect.xpath.XPathExpr
  - lxml.etree.XSLT: XSLT(self, xslt_input, extensions=None, regexp=True, access_control=None)
  - lxml.etree.XSLTAccessControl: XSLTAccessControl(self, read_file=True, write_file=True, create_dir=True, read_network=True, write_network=True)
  - lxml.etree.XSLTExtension: Base class of an XSLT extension element.
  - lxml.etree._Attrib: A dict-like proxy for the `Element.attrib` property.
  - lxml.etree._BaseErrorLog
    - lxml.etree.PyErrorLog: PyErrorLog(self, logger_name=None, logger=None) A global error log that connects to the Python stdlib logging package.
    - lxml.etree._ListErrorLog: Immutable base version of a list based error log.
      - lxml.etree._ErrorLog
        - lxml.etree._DomainErrorLog
        - lxml.etree._RotatingErrorLog
  - unreachable._BaseParser
    - lxml.etree._FeedParser
      - lxml.etree.HTMLParser: HTMLParser(self, encoding=None, remove_blank_text=False, remove_comments=False, remove_pis=False, strip_cdata=True, no_network=True, target=None, schema: XMLSchema =None, recover=True, compact=True, collect_ids=True)
        - lxml.html.HTMLParser: An HTML parser that is configured to return lxml.html Element objects.
        - lxml.etree.HTMLPullParser: HTMLPullParser(self, events=None, *, tag=None, base_url=None, **kwargs)
      - lxml.etree.XMLParser: XMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema: XMLSchema =None, remove_blank_text=False, resolve_entities=True, remove_comments=False, remove_pis=False, strip_cdata=True, collect_ids=True, target=None, compact=True)
        - lxml.etree.ETCompatXMLParser: ETCompatXMLParser(self, encoding=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, ns_clean=False, recover=False, schema=None, huge_tree=False, remove_blank_text=False, resolve_entities=True, remove_comments=True, remove_pis=True, strip_cdata=True, target=None, compact=True)
        - lxml.html.XHTMLParser: An XML parser that is configured to return lxml.html Element objects.
        - lxml.etree.XMLPullParser: XMLPullParser(self, events=None, *, tag=None, **kwargs)
  - lxml.etree._Document: Internal base class to reference a libxml document.
  - lxml.etree._Element: Element class.
    - lxml.etree.ElementBase: ElementBase(*children, attrib=None, nsmap=None, **_extra)
      - lxml.html.HtmlElement
        - lxml.html.FormElement: Represents a <form> element.
        - lxml.html.InputElement: Represents an `<input>` element.
        - lxml.html.LabelElement: Represents a `<label>` element.
        - lxml.html.SelectElement: `<select>` element. You can get the name with `.name`.
        - lxml.html.TextareaElement: `<textarea>` element. You can get the name with `.name` and get/set the value with `.value`
      - lxml.objectify.ObjectifiedElement: Main XML Element class.
        - lxml.objectify.ObjectifiedDataElement: This is the base class for all data type Elements. Subclasses should override the 'pyval' property and possibly the __str__ method.
          - lxml.objectify.NoneElement
          - lxml.objectify.NumberElement
            - lxml.objectify.FloatElement
            - lxml.objectify.IntElement
              - lxml.objectify.BoolElement: Boolean type base on string values: 'true' or 'false'.
            - lxml.objectify.LongElement
          - lxml.objectify.StringElement: String data class.
      - lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.bluff_class
      - lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.default_class
      - lxml.tests.test_nsclasses.ETreeNamespaceClassesTestCase.maeh_class
    - unreachable.__ContentOnlyElement
      - lxml.etree._Comment
        - lxml.etree.CommentBase: All custom Comment classes must inherit from this one.
          - lxml.html.HtmlComment
      - lxml.etree._Entity
        - lxml.etree.EntityBase: All custom Entity classes must inherit from this one.
          - lxml.html.HtmlEntity
      - lxml.etree._ProcessingInstruction
        - lxml.etree.PIBase: All custom Processing Instruction classes must inherit from this one.
          - lxml.html.HtmlProcessingInstruction
          - lxml.etree._XSLTProcessingInstruction
  - lxml.etree._ElementMatchIterator
    - lxml.etree.AncestorsIterator: AncestorsIterator(self, node, tag=None) Iterates over the ancestors of an element (from parent to parent).
    - lxml.etree.ElementChildIterator: ElementChildIterator(self, node, tag=None, reversed=False) Iterates over the children of an element.
    - lxml.etree.SiblingsIterator: SiblingsIterator(self, node, tag=None, preceding=False) Iterates over the siblings of an element.
  - lxml.etree._ElementTagMatcher: Dead but public. :)
    - lxml.etree._ElementIterator: Dead but public. :)
  - lxml.etree._ElementTree
    - lxml.etree._XSLTResultTree: The result of an XSLT evaluation.
  - lxml.etree._IDDict: IDDict(self, etree) A dictionary-like proxy class that mapps ID attributes to elements.
  - xml.etree.ElementTree._IterParseIterator
  - lxml.etree._LogEntry: A log message entry from an error log.
  - lxml.html._MethodFunc: An object that represents a method on an element as a function; the function takes either an element or an HTML string. It returns whatever the function normally returns, or if the function works in-place (and so returns None) it returns a serialized form of the resulting document.
  - lxml.doctestcompare._RestoreChecker
  - lxml.etree._SaxParserTarget
    - lxml.etree.TreeBuilder: TreeBuilder(self, element_factory=None, parser=None) Parser target that builds a tree.
  - xml.etree.ElementTree._SimpleElementPath
  - lxml.etree._Validator: Base class for XML validators.
    - lxml.etree.DTD: DTD(self, file=None, external_id=None) A DTD validator.
    - lxml.etree.RelaxNG: RelaxNG(self, etree=None, file=None) Turn a document into a Relax NG validator.
    - lxml.etree.Schematron: Schematron(self, etree=None, file=None) A Schematron validator.
    - lxml.isoschematron.Schematron: An ISO Schematron validator.
    - lxml.etree.XMLSchema: XMLSchema(self, etree=None, file=None) Turn a document into an XML Schema validator.
  - threading._Verbose
    - threading.Thread: A class that represents a thread of control.
      - lxml.tests.test_threading.ThreadPipelineTestCase.Worker
        - lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndExtendWorker
        - lxml.tests.test_threading.ThreadPipelineTestCase.ParseAndInjectWorker
        - lxml.tests.test_threading.ThreadPipelineTestCase.ParseWorker
        - lxml.tests.test_threading.ThreadPipelineTestCase.ReverseWorker
        - lxml.tests.test_threading.ThreadPipelineTestCase.RotateWorker
        - lxml.tests.test_threading.ThreadPipelineTestCase.SerialiseWorker
        - lxml.tests.test_threading.ThreadPipelineTestCase.Validate
  - lxml.etree._XPathEvaluatorBase
    - lxml.etree.XPath: XPath(self, path, namespaces=None, extensions=None, regexp=True, smart_strings=True) A compiled XPath expression that can be called on Elements and ElementTrees.
      - lxml.cssselect.CSSSelector: A CSS selector.
      - lxml.etree.ETXPath: ETXPath(self, path, extensions=None, regexp=True, smart_strings=True) Special XPath class that supports the ElementTree {uri} notation for namespaces.
    - lxml.etree.XPathElementEvaluator: XPathElementEvaluator(self, element, namespaces=None, extensions=None, regexp=True, smart_strings=True) Create an XPath evaluator for an element.
      - lxml.etree.XPathDocumentEvaluator: XPathDocumentEvaluator(self, etree, namespaces=None, extensions=None, regexp=True, smart_strings=True) Create an XPath evaluator for an ElementTree.
  - basestring: Type basestring cannot be instantiated; it is the base for str and unicode.
    - str: str(object='') -> string
      - lxml.etree._ElementStringResult
      - lxml.html.diff.token: Represents a diffable token, generally a word that is displayed to the user. Opening tags are attached to this token when they are adjacent (pre_tags) and closing tags that follow the word (post_tags). Some exceptions occur when there are empty tags adjacent to a word, so there may be close tags in pre_tags, or open tags in post_tags.
        - lxml.html.diff.href_token: Represents the href in an anchor tag. Unlike other words, we only show the href when it changes.
        - lxml.html.diff.tag_token: Represents a token that is actually a tag. Currently this is just the <img> tag, which takes up visible space just like a word but is only represented in a document by a tag.
    - unicode: unicode(object='') -> unicode object unicode(string[, encoding[, errors]]) -> unicode object
      - lxml.etree._ElementUnicodeResult
      - lxml.html.diff.token: Represents a diffable token, generally a word that is displayed to the user. Opening tags are attached to this token when they are adjacent (pre_tags) and closing tags that follow the word (post_tags). Some exceptions occur when there are empty tags adjacent to a word, so there may be close tags in pre_tags, or open tags in post_tags.
        - lxml.html.diff.href_token: Represents the href in an anchor tag. Unlike other words, we only show the href when it changes.
        - lxml.html.diff.tag_token: Represents a token that is actually a tag. Currently this is just the <img> tag, which takes up visible space just like a word but is only represented in a document by a tag.
  - lxml.etree.iterparse: iterparse(self, source, events=("end",), tag=None, attribute_defaults=False, dtd_validation=False, load_dtd=False, no_network=True, remove_blank_text=False, remove_comments=False, remove_pis=False, encoding=None, html=False, recover=None, huge_tree=False, schema=None)
  - lxml.etree.iterwalk: iterwalk(self, element_or_tree, events=("end",), tag=None)
  - list: list() -> new empty list list(iterable) -> new list initialized from iterable's items
    - lxml.html.CheckboxGroup: Represents a group of checkboxes (`<input type=checkbox>`) that have the same name.
    - lxml.html.RadioGroup: This object represents several `<input type=radio>` elements that have the same name.
  - lxml.tests.common_imports.skipif: Using a class because a function would bind into a method when used in classes
  - type: type(object) -> the object's type type(name, bases, dict) -> a new type
    - abc.ABCMeta: Metaclass for defining Abstract Base Classes (ABCs).
  - lxml.etree.xmlfile: xmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)
    - lxml.etree.htmlfile: htmlfile(self, output_file, encoding=None, compression=None, close=False, buffered=True)