1. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to perform a method comprising: receiving an input document for processing by a data extraction module; converting the input document to a hypertext markup language (HTML) representation that includes a plurality of HTML tags; inferring a structure of the input document based upon the HTML representation; and storing a representation of the inferred structure of the input document.