Will start by saying I am sure this is documented somehow and I probably just don't know the right word to find that documentation. I'm trying to query a table from a document, after which I will query details from that table. The issue I have is that the second xpath query is pulling results from the entire document. As an example, I have: ``` from lxml import html exampledocument=""" <head> example </head> <body> <table><tbody> <tr><th>exampleCellNotToFind</th> </tbody></table> <table id="exampleTableToFind"><tbody> <tr><th>exampleCellToFind</th> </tbody></table> </body> """ example=html.fromstring(exampledocument) xpath1=example.xpath('//table[@id="exampleTableToFind"]', smart_strings=False) xpath2=xpath1[0].xpath('//table', smart_strings=False) xpath3=html.fromstring(html.tostring(xpath1[0])).xpath('//table', smart_strings=False) ``` In this case, xpath2 includes both tables (xpath1 only includes 1 table), and I don't understand why. From reading "XPath return values" section of https://lxml.de/xpathxslt.html#xpath I thought smart_strings=True would the reason, but setting it to false didn't seem to change the output as far as I can tell. I do have a workable solution in this html.fromstring(html.tostring()), but thought I should ask here to try to understand how these element type variables are working. Thanks, for any help.