Patent ID: 8230325

Claim:
A comparison framework for comparing a first document and a second document, comprising: at least one processor; an asserter configuration component for enabling a user to specify an asserter configuration for selecting a custom asserter component for each of a plurality of potential matches with respect to a specified location in a document structure, the custom asserter component enabling a user to specify at least custom rules defining expected differences between the first and second documents for use in at least identifying at least one or more significant differences, the one or more significant differences including at least one or more variations from the expected differences, but not the expected differences; a document traversing component for traversing, using at least one processor, a first structure in the first document and a second structure in the second document to identify one or more potential matches between elements in the first and second documents, each identified potential match being between a respective pair of elements in the first and second documents corresponding to a respective location in the first structure and the second structure, the document traversing component being configured to invoke the custom asserter component for each potential match at a respective location to determine if any differences between the respective pair of elements are significant differences as defined based at least in part by the custom rules of the custom asserter when the custom asserter component is specified by the user or to invoke a default asserter component for each potential match at a respective location to determine if any differences between the respective pair of elements exist when no custom asserter component is specified by the user; and a custom error handler component for storing, for each potential match, information for any differences between the respective pair of elements that are determined to be significant by the custom asserter component or that are determined to exist by the default asserter component, the custom error handler being configurable by a user to allow the user to specify how the differences are stored.