3.3 Data-driven application enhancement
There are ways to enhance Ellen's experience with her expense report. Raising the per diem would undoubtedly provide the most satisfaction, but we have to stick to improvements enabled by mapping XML to the spreadsheet.
Solution developers have several ways to take advantage of the document knowledge that XML gives them: custom renditions, smart tags, and smart documents.
3.3.1 Custom renditions
The classic technique for data-driven application enhancement dates back to the dawn of markup languages, when GML first separated abstract data from presentation. It is to render the same data in different ways for different tasks or users.
In our scenario, for example, a report to the accounting department might contain only the summary totals from Ellen's spreadsheet, while her management gets to see every detail.
3.3.2 Smart tags
Office has a facility called smart tags that allows actions to be associated with words and phrases in a document. The "tags" don't have to be delimited, as XML tags are. Instead, they are defined by a program or by a lookup table that contains character strings and their associated actions. The product recognizes the matching strings in the document.8
Usually, an icon is displayed when the cursor is over a smart tag. When the user clicks on it, the associated list of actions pops up.
It is also possible to define smart tags so that an action will take place automatically when the tag is recognized. For example, recognition of the employee number in Ellen's worksheet invoked an action to send the Web service request for her employee name, which was entered into the appropriate worksheet cell.
3.3.3 Smart documents
The ultimate data-driven application enhancement is to respond intelligently to user input, offering context-sensitive actions and guidance, suggesting content, and providing supporting data or links to related information.
The XML facilities we've looked at so far can be used in combination to approach that goal. Add a customized task pane and even more can be done. You have what in Office-speak is called a smart document solution.
For example, as a user moves the cursor to different elements in a document, the task pane could display help details, related data, tools to work with the document, or related graphics. Ellen could click in a lodging cell and see the hotel contact information displayed in the task pane. She could then click on the hotel's email address and send a quick note advising the hotel of her arrival time.9
3.3.4 Using the Office tools
While all these features sound useful, there is some setup required. Fortunately, you have this book to guide you through the process. We have identified typical implementation tasks, each of which is explained in a chapter. In the context of these tasks, we present the XML features of each of the Office products. Finally, in the last part, we cover in detail some of the technologies, such as schemas and stylesheets, you may use to get there.