1. A method of transforming a source document, cast in a first editable form which includes a plurality of input items therein, to a target document of a second editable form which includes output items compatible therewith, said method comprising the steps of: (a) determining a set of key state variables, from amongst all possible key state variables, that refers to and collectively identifies the status of said source document as represented by its data stream at any given point in said transformation; (b) determining the actual number of possible key state combinations that can occur in any possible transformation; (c) defining for each of said possible key states combination, in combination with each of said input items, and explicit set of output items compatible with said second editable document form to be placed in said second document; and (d) defining, after each explicit set of output items has been placed in said second document, the next state of said source document.