13. A computer implemented method of formatting a document comprising: a) providing a database comprising: (i) a plurality of document element classes; (ii) a set of clause formatting rules for each document element class; and (iii) a set of document elements for each document element class; and in a computer system comprising at least one processor operatively associated with the database: b) obtaining an electronic document; c) identifying a clause within the electronic document; d) identifying one or more of said document elements within said clause; e) for one or more of the document elements identified within the clause: (i) classifying the respective identified document element into one of the document element classes; (ii) determining the clause formatting rules associated with the classified document element class; (iii) determining whether said clause is formatted in accordance with the clause formatting rules of the classified document element class; and (iv) where the said clause is not formatted in accordance with the clause formatting rules of the classified document element class, selecting one or more of the clause formatting rules of the classified document element class and applying the selected one or more clause formatting rules to said clause to re-format said clause to a re-formatted clause that accords with the selected one or more clause formatting rules; and f) displaying a re-formatted version of the electronic document including one or more of the re-formatted clauses.
14. A computer implemented method according to claim 13 wherein said document element classes comprise logical element classes, each logical element class representing a logical operator, wherein the document elements of a logical element class comprise one or more text strings used to express the respective logical operator.