Patent ID: 7716676

Claim:
A computer-readable storage medium encoded with instructions for issuing a notification from a first program to a second program, the instructions comprising: a notification issuer configured as part of the first program to issue an event notification in response to determining that an event occurred, the event being associated with action performed by the first program on an Extensible Markup Language (XML) document, irrespective of a type of the action, wherein the event notification comprises a data structure, the data structure comprising: an identifier field indicating that the data structure represents an occurrence of the action performed on the XML document by the first program, a first parameter field identifying a current selection within the XML document, a second parameter field identifying a first XML node associated with the event and contained within an XML namespace not native to the first program, wherein the first XML node corresponds to a first associated node within which the current selection existed when performance of the action began, a third parameter field identifying a second XML node associated with the event, wherein the second XML node corresponds to a second associated node within which the current selection will exist after the action has been performed, and a fourth parameter field identifying a type of the event that occurred, wherein the type of the event is selected from one of a plurality of event types; and a single event handler, associated with the second program, configured to receive the event notification irrespective of which of a plurality of actions caused the event notification to be sent, wherein the first parameter, the second parameter, the third parameter, and the fourth parameter are included in the event notification received by the second program in response to a state change caused by at least one of the plurality of actions and used to provide supplemental functionality to the first program when the at least one of the plurality of actions occurs.