Microsoft Office SystemMicrosoft Office SystemUK Developers ConferenceUK Developers ConferenceRadisson Edwardian, HeathrowRadisson Edwardian, Heathrow2929thth & 30 & 30thth June 2005 June 2005
Programming Word and Programming Word and Excel XML SolutionsExcel XML Solutions
Jed Farr & Jim HanmerJed Farr & Jim HanmerMicrosoft Consulting ServicesMicrosoft Consulting Services
[email protected]@[email protected]@microsoft.com
AgendaAgenda
Role of XML in OfficeRole of XML in Office
Word and Excel XML file formatsWord and Excel XML file formats
Embed and manipulate custom XMLEmbed and manipulate custom XML
Object model & server-side Object model & server-side generationgeneration
ToolsTools
Evolution of File FormatsEvolution of File Formats
Office 2000Early InnovationXML document
properties
Office 97Existing binary file formats designed in 1994, launched in Office 97
Office XPFirst XML FormatSpreadsheet XML
Office 2003Breakthrough XML SupportWordML, SpreadsheetMLCustom-defined schema
“Office 12”New XML FormatsXML file format defaultXML PowerPoint format
“Wave 12”
The Role of XML in OfficeThe Role of XML in Office
Capture and reuse of informationCapture and reuse of information
Connecting users to dataConnecting users to data
Intelligent applicationsIntelligent applications
The Role of XMLThe Role of XMLDocuments and SpreadsheetsDocuments and Spreadsheets
Document assemblyDocument assembly
Content interrogationContent interrogation
Document sanitisationDocument sanitisation
<ConferenceReport> <Date>3/24/2004</Date> <Summary> <Keyword>XML Conference (Europe)</Keyword> <Abstract>Role of XML on the Desktop</Abstract> </Summary> <Attendees> <Attendee Name=“John Doe”> <Department>Health Agency</Department> <Potential> <Sales>100</Sales> <Growth>25%</Growth> …
</Attendee>
Custom-defined SchemasCustom-defined SchemasData-oriented (e.g., Price, Data-oriented (e.g., Price, Invoice)Invoice)
Represents the business Represents the business information stored in the information stored in the documentdocument
Enable System IntegrationEnable System Integration
XML Reference SchemasXML Reference SchemasDisplay-oriented (e.g. Bold, Display-oriented (e.g. Bold, Italics, Tables, Paragraphs, Italics, Tables, Paragraphs, Styles)Styles)
Open Document FormatOpen Document Format
Enable Archival & File Enable Archival & File Formats InteroperabilityFormats Interoperability
<w:p> <w:r> <w:rPr><w:b /></w:rPr> <w:t>John Doe</w:t> </w:r> <w:r> <w:rPr><w:i /></w:rPr> <w:t>Health Agency</w:t> </w:r></w:p>
The Role of XMLThe Role of XMLReference and custom-defined schemasReference and custom-defined schemas
Custom-defined SchemasCustom-defined SchemasData-oriented (e.g., Price, Data-oriented (e.g., Price, Invoice)Invoice)
Represents the business Represents the business information stored in the information stored in the documentdocument
Enable System IntegrationEnable System Integration
XML Reference SchemasXML Reference SchemasDisplay-oriented (e.g. Bold, Display-oriented (e.g. Bold, Italics, Tables, Paragraphs, Italics, Tables, Paragraphs, Styles)Styles)
Open Document FormatOpen Document Format
Enable Archival & File Enable Archival & File Formats InteroperabilityFormats Interoperability
StructureStructureWordML and SpreadsheetMLWordML and SpreadsheetML
Save documents and workbooks as Save documents and workbooks as XMLXML
Publicly available XML 1.0 schemasPublicly available XML 1.0 schemas
WordML is lossless (all features WordML is lossless (all features supported)supported)
Simple hierarchySimple hierarchy
Saving Documents and Saving Documents and Workbooks as XMLWorkbooks as XML
ContentContentUsing your own XML in Word and Using your own XML in Word and ExcelExcel
Support for W3C XML Schema 1.0Support for W3C XML Schema 1.0
User-defined schemasUser-defined schemas
Schema is attached to doc/workbookSchema is attached to doc/workbook
Support multiple schemasSupport multiple schemas
Provides validation on import/exportProvides validation on import/export
ContentContentExcel XML MapsExcel XML Maps
A ‘mapping’ or translation of schema A ‘mapping’ or translation of schema into a workbookinto a workbook
Instance defined by schemaInstance defined by schema
A workbook can have several mapsA workbook can have several maps
Integration with Excel listsIntegration with Excel lists
Schema inferenceSchema inference
ContentContentWord Custom XMLWord Custom XML
Structured data can be added to a Structured data can be added to a Word documentWord document
Easier to find data when parsing Easier to find data when parsing WordMLWordML
Easier to build solutions within WordEasier to build solutions within Word
Excel Mapping & Excel Mapping & Schema Inference Schema Inference Opening Customer XML Opening Customer XML In WordIn Word
Manipulating XML in CodeManipulating XML in Code
Object models support XML Object models support XML manipulationmanipulation
Target content Target content notnot structure structure
Use familiar techniques (e.g. XPath)Use familiar techniques (e.g. XPath)
Object ModelsObject Models
ExcelExcelMaps, schemas, namespacesMaps, schemas, namespaces
Import and export data – including eventsImport and export data – including events
Manipulate listsManipulate lists
WordWordSchemas, namespaces, nodes, transformsSchemas, namespaces, nodes, transforms
Richer event modelRicher event model
Document Processing and Document Processing and GenerationGeneration
Traditionally problematicTraditionally problematic
Avoid running Word or Excel on Avoid running Word or Excel on serverserver
Create XML versions using standard Create XML versions using standard XML libraries & XSLTXML libraries & XSLT
Bringing it all togetherBringing it all together
ToolsTools
Set of utilities to make working with Set of utilities to make working with Office XML easierOffice XML easier
Word XML toolbox (February 2003)Word XML toolbox (February 2003)
XSLT Transform GeneratorXSLT Transform Generator
Excel XML toolbox (May 2005)Excel XML toolbox (May 2005)
……on MSDN Office Developer Centeron MSDN Office Developer Center
Office 12Office 12
New file formatsNew file formatsXml with compressionXml with compression
New file extensions (docx, xlsx, pptx)New file extensions (docx, xlsx, pptx)
Backward compatibility to 2000Backward compatibility to 2000
Segmented storageSegmented storage
75% reduction in file size75% reduction in file size
SummarySummary
Structure vs. contentStructure vs. content
WordML and SpreadsheetMLWordML and SpreadsheetML
Rich support for custom XMLRich support for custom XML
Extended object modelExtended object model
Simple server-side generationSimple server-side generation
Tools availableTools available
Office 12Office 12
Questions?Questions?
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.