OFC335 Microsoft Office Word 2007 XML Programmability: True Data/View Separation and Rich Eventing for Custom XMLTristan DavisProgram ManagerMicrosoft Corporation
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
Слайд 6 Tristan Davis
Program Manager Microsoft Word Structuring a Document
Слайд 7
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
Слайд 8 Tristan Davis
Program Manager Microsoft Word XML Data Store / XML
Mapping
Слайд 9
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
Слайд 10
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
Слайд 11 Tristan Davis
Program Manager Microsoft Word Mapping WSS Data Into Word
Слайд 12
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
Слайд 13
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)
Слайд 14 Tristan Davis
Program Manager Microsoft Word Using InfoPath for Client-Side Business
Logic
Слайд 15 Tristan Davis
Program Manager Microsoft Word Using Office OM for Client-Side
Business Logic
Слайд 16
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
Слайд 17 Tristan Davis
Program Manager Microsoft Word Using Custom XML Data on
the Server
Слайд 18
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
Слайд 19
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
Слайд 20
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