Goodbye HTML, hello XML Replaced HTML exporting/parsing with XML exporting/parsing. Also replaced the 'high-level' function call with 'low-level' pdfminer usage. The XML parser handled validation and suppression of header/footer content on its own. From the PDF parser, XML is dumped to a file. From the XML parser, CSV is dumped to a file. The new timesheet parser should read in that CSV file.