The same applied to RelaxNG and Schematron. DTDs were ok. It'll go into lxml 3.3.x.
Note that this change does not fix the multithreading case, which would be a backwards incompatible change. I'm therefore leaving the ticket open for later reconsideration.
I pushed a fix for the case of repeated validation here:
https:/ /github. com/lxml/ lxml/commit/ 4c748a9f8bb97a2 0f0f6948f3a426f 02137f6d6d
The same applied to RelaxNG and Schematron. DTDs were ok. It'll go into lxml 3.3.x.
Note that this change does not fix the multithreading case, which would be a backwards incompatible change. I'm therefore leaving the ticket open for later reconsideration.