Abstract: A document assembly system assembles and prints one or more documents in response to input data describing the nature and circumstances of a transaction to be documented and describing the parties to the transaction. The document assembly system initially produces a separate document definition object for each document to be produced and a separate party definition object for each party to the transaction. The document definition object includes procedures for generating “document-related” text that a document may use when referring to itself. The party definition object includes procedures for generating party-related text that the document is to use when referring to a party. The nature of the text each document definition or party definition object procedure produces depends on the nature of the document or the party as indicated by the input data.