OFC335 Microsoft Office Word 2007 XML Programmability: True Data/View Separation and Rich Eventing for Custom XML Tristan Davis Program Manager Microsoft Corporation
Agenda The world today (Microsoft Office Word 2003) Structural Integrity Content Controls Data/View Separation Microsoft Office XML data store XML mapping Conclusion Questions
The World Today Word 2003 was a major step forward: XML-based file format (WordprocessingML) Customer-defined schema support However, a big toolbox doesn’t mean it’s easy to build a house You need XML schema, XSLT, client-side code, etc.
The World of Word 2007 Make it easier to push/pull customer data within Word documents How? Structural integrity (Content Controls) Provide content restriction, lockdown capability Data/view separation (Office XML data store) Place to store custom XML data in the new file format Each item is stored as a separate part within the package
Tristan Davis Program Manager Microsoft Word Structuring a Document
Content Controls Evolution of customer-defined XML No XML schema required Provide friendly end user exposure of structured content Each provides unique content restrictions / user interface that doesn’t affect layout Controls can be grouped to lock them down as a unit Controls can be mapped to XML data
Tristan Davis Program Manager Microsoft Word XML Data Store / XML Mapping
Office XML Data Store Customer-defined XML (incl. WSS/Office doc props) stored separately from WordprocessingML as a part in Open XML format Any XML can be stored (with or without XML schema) XML data is available as an editable tree (using familiar DOM) within Word Can be populated on a server using WinFX or a client using Word OM
XML Mapping Link document controls to nodes in the XML data store Provides for true data/view separation model in Word Mappings are created using standard XPath expressions Mappings can be set up to ‘auto-attach’ to incoming data Out-of-the-box support for mapping to Office properties
Tristan Davis Program Manager Microsoft Word Mapping WSS Data Into Word
Mapping WSS Data into Word Word 2007 has native integration between the WSS property set and the XML mapping architecture: WSS properties are stored as items in the Office XML data store Properties can be mapped to content controls in the document WSS docs automatically get UI on the ribbon to do this mapping InfoPath property panel is synchronized with the data store
Client Side Programming Recommended approach: program directly against the data InfoPath or Office OM – your choice Word will automatically take care of the effects on the presentation via the XML mappings Use shared error board to communicate validation errors to the user Use controls OM if you need behavior for specific controls (e.g. to block user from exiting)
Tristan Davis Program Manager Microsoft Word Using InfoPath for Client-Side Business Logic
Tristan Davis Program Manager Microsoft Word Using Office OM for Client-Side Business Logic
Server Side Programming Recommended approach: Using WinFX to navigate the file format Adding a part is as simple as adding a single relationship Finding an existing part is done by namespace or GUID matching
Tristan Davis Program Manager Microsoft Word Using Custom XML Data on the Server
Related Areas In VSTO V3 Document control support in the Microsoft Visual Studio designer Integration with .NET data binding .NET programming model for the XML data store for document manipulation on client/server Leveraging the XML data store / new file format for VSTO solution storage
Conclusion Two main themes to Word 2007 for solution creation Make structured document more robust by providing controls and content groups Provide true data/view separation by providing custom XML data store Result: you have to write less code and your solutions are more reliable with Word as the editing environment
Key Takeaways Word 2007 allows for more granular control over structured data via content controls Specialized UI, Content restrictions, locking, etc. Word 2007 allows for separation of data and presentation via the Office XML data store Word 2007 allows for automatic two-way synchronization between data and view via XML mapping
Resources Technical Chats and Webcasts http://www.microsoft.com/communities/chats/default.mspx http://www.microsoft.com/usa/webcasts/default.asp Microsoft Learning and Certification http://www.microsoft.com/learning/default.mspx MSDN & TechNet http://microsoft.com/msdn http://microsoft.com/technet Virtual Labs http://www.microsoft.com/technet/traincert/virtuallab/rms.mspx Newsgroups http://communities2.microsoft.com/ communities/newsgroups/en-us/default.aspx Technical Community Sites http://www.microsoft.com/communities/default.mspx User Groups http://www.microsoft.com/communities/usergroups/default.mspx
The 2007 Microsoft Office System Clients. Servers. Solutions. Install Beta 2 today! It’s in your attendee bag Learn more at the Office System TLC Demo Stations / Hands-on-Labs / Chalk-talks Get more information http://www.microsoft.com/office/preview/default.mspx http://msdn.microsoft.com/office/ Talk Lab Demo
Fill out a session evaluation on CommNet and Win an XBOX 360!
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.