Schemas for smart documents

In a session entitled Contextualized Data in Document Authoring, John Durant gave a nice overview of how to connect XML elements to the Office task pane. First, the bad old crufty way using VS.NET 2003, and then the good new elegant way using the beta of VSTO (Visual Studio Tools for Office) 2005. In either case, the idea is to animate the task pane with context-sensitive controls that sense and react to navigation within the document.

I've yet to see a jaw-dropping exploitation of the task pane using these techniques, and that's something I'll be on the lookout for. But the session did highlight an aspect of Office 2003's use of XML Schema that I hadn't considered. I've mainly thought about XSD as a way to assure document validity in a declarative way. And that's true, though we've yet to see much demonstrable benefit. But XSD is also a useful organizing principle for smart-document apps. It gives you a way to identify the parts of the document to which behavior will be attached, and to automate the connections between document elements and code.

There are other ways to skin the cat, I'm sure, but this is a point that skeptics of user-defined schemas for open office documents might want to address.

PS: You are reading this, which means -- yay -- WiFi!

Former URL: