Application program interfaces (API) are provided for labeling strings
while a user is creating a document and providing user actions based on
the type of semantic label applied to the string. A recognizer API is
provided and includes properties and methods or instructions which allow
recognizer plug-ins to semantically label strings of text or cells or
information. An action API is provided and includes properties and
methods that are called upon when a user initiates particular actions
such as opening a web browser, going to a particular URL, or opening an
instance of a word processing or spreadsheet program. After the strings
are annotated with a type label, application program modules may use the
type label to provide users with a choice of actions. If the user's
computer does not have any actions associated with a type label, the user
may be provided with the option to surf to a download Uniform Resource
Locator (URL) and download action plug-ins for that type label. One or
more recognizer plug-ins perform the recognition of particular strings in
an electronic document. The recognizer plug-ins may be packaged with an
application program module or they may be written by third parties to
recognize particular strings that are of interest. One or more action
plug-ins provide possible actions to be presented to the user based upon
the type label associated with the string.