1. A method comprising: receiving an instruction to open a document in a first markup language; searching the document to locate a processing instruction (PI) including a solution identifier; discovering a solution using the solution identifier; opening the document with the solution, wherein: the solution includes a presentation application in the first markup language and a schema in the first markup language; the document can be inferred from the schema; and portions of the document are logically coupled with fragments of the schema; executing the presentation application to render an electronic form in a second markup language, different form the first markup language, the electronic form containing user input fields associated with the coupled portions; receiving, through one or more of the user input fields, data input by a user; validating the data input by the user with one or more of a plurality of validation rules, each of the one or more plurality of validation rules corresponding to one of said user input fields through which data is input by the user, each said validation rule: mapping to each said validation rule's corresponding said user input field by use of a first entity selected from the group consisting essentially of: a first path expression in the first markup language; a declarative syntax; and an entity that is script-based; and mapping to said coupled portion to which each said validation rule's corresponding said user input field is associated, the mapping with a second entity selected from the group consisting essentially of: a second path expression in the first markup language; an event handler; an event handler that determines when a real-time validation tool uses said validation rule; an event handler that determines when a real-time validation tool uses said validation rule before data received for said coupled portion is held by the document; and an event handler that determines when a real-time validation tool uses said validation rule after data received for said coupled portion is held by the document, and if the act of validating determines that the data input by the user is invalid, outputting indicia informing the user that the data input is invalid.