class_docstr: HTML to DataFrame parser that uses lxml under the hood.
  
  Warning
  -------
  This parser can only handle HTTP, FTP, and FILE urls.
  
  See Also
  --------
  _HtmlFrameParser
  _BeautifulSoupLxmlFrameParser
  
  Notes
  -----
  Documentation strings for this class are in the base class
  :class:`_HtmlFrameParser`.
class_docstr_tok: ["HTML","to","DataFrame","parser","that","uses","lxml","under","the","hood",".","Warning","--","--","--","-","This","parser","can","only","handle","HTTP",",","FTP",",","and","FILE","urls",".","See","Also","--","--","--","--","_HtmlFrameParser","_BeautifulSoupLxmlFrameParser","Notes","--","--","-","Documentation","strings","for","this","class","are","in","the","base","class",":","class",":","`","_HtmlFrameParser","`","."]
code: def _parse_tables(self, doc, match, kwargs):
      pattern = match.pattern
  
      # 1. check all descendants for the given pattern and only search tables
      # 2. go up the tree until we find a table
      query = "//table//*[re:test(text(), {patt!r})]/ancestor::table"
      xpath_expr = u(query).format(patt=pattern)
  
      # if any table attributes were given build an xpath expression to
      # search for them
      if kwargs:
          xpath_expr += _build_xpath_expr(kwargs)
  
      tables = doc.xpath(xpath_expr, namespaces=_re_namespace)
  
      tables = self._handle_hidden_tables(tables, "attrib")
      if self.displayed_only:
          for table in tables:
              # lxml utilizes XPATH 1.0 which does not have regex
              # support. As a result, we find all elements with a style
              # attribute and iterate them to check for display:none
              for elem in table.xpath(".//*[@style]"):
                  if "display:none" in elem.attrib.get(
                      "style", ""
                  ).replace(" ", ""):
                      elem.getparent().remove(elem)
  
      if not tables:
          raise ValueError(
              "No tables found matching regex {patt!r}".format(
                  patt=pattern
              )
          )
      return tables
  
imports: from distutils.version import LooseVersion
  import numbers
  import os
  import re
  import pandas.compat
  from pandas.compat import binary_type, iteritems, lmap, lrange, raise_with_traceback, string_types, u
  from pandas.errors import AbstractMethodError, EmptyDataError
  from pandas.core.dtypes.common import is_list_like
  from pandas import Series
  from pandas.io.common import _is_url, _validate_header_arg, urlopen
  from pandas.io.formats.printing import pprint_thing
  from pandas.io.parsers import TextParser
label_desc: Use image node_id 4 for calling the _LxmlFrameParser obj's underlying member method code with example usage: obj._parse_tables(doc, match, kwargs) and returns: tables