1. A method of providing contextually sensitive functionality to a computer-generated document, comprising the steps of: attaching a schema to the document defining permissible data content, data type and data structure for the document; structuring the document to associate the document with the schema; associating a solution with the document structure; assembling a plurality of software components for providing the solution to the document; and enabling the document to call the plurality of software components for providing the solution to the document based on an editing position in the document.