Open XML Overview

Open XML Overview

Open XML Overview Office 365 DevDays 2017.11.4-6 | 上海 Tom Jebo Introduction to Open XML File Format Standard WordprocessingML, SpreadsheetML, PresentationML & DrawingML Versioning and Namespaces Compatibility in Documents Agenda Programming the Document Format ( OpenXML SDK) Open XML SDK on Github Demo Tools Support & Resources Introduction to Open XML Format • Brief history of Office Open XML • Get the Standard • Tour of the Office Open XML Standard Brief history of Office Open XML 2003 2000 2005/6 2007 2008 Microsoft Office First XML based Office Open XML Office 2007 makes ISO/IEC XML format format used by submitted to ECMA OOXML default file 29500:2008 released in Office OfficeXP Int’l format published 2003 ISO ISO 29500:2012 29500:2016 Support by Office Version • Office 2007 • First to support OOXML, default format • ECMA-376 support • Office 2010 • ISO/IEC 29500 “Transitional” r/w – fidelity with older versions • ISO/IEC 29500 “Strict” read • ECMA-376 read • Office 2013, 2016 • ISO/IEC 29500 “Strict” r/w • i.e. File | Save As… and choose “Strict Open XML Presentation (*.pptx)” • Office365, Office for Android and iPad • “Strict” r/w Get the standard iso 29500 download Tour of the Office Open XML Standard • Markup Fundamentals • Packaging • Compatibility and Extensibility • Transitional Markup Fundamentals Part 1 Parts Reference Packaging Part 2 Packaging Model Compatibility and Extensibility Part 3 MCE elements and attributes Transitional Part 4 Namespaces and elements in transitional markup WordprocessingML, SpreadsheetML, PresentationML & DrawingML <w:worksheetp:slddocumentxmlns:axmlns="http://schemas.openxmlformats.org/="http://schemas.openxmlformats.org/drawingmlspreadsheetml/2006/main" • Parts and elements to get started: <w:dimensionbody<p:cSld> ref="A1:B4"/>> • WordprocessingML <w:sheetDatap w14:paraId="2673269E"<p:spTree> > w14:textId="522FD3EB" w:rsidR="00BD0355" w:rsidRDefault="00BD0355"> • 11.3.10 (document.xml) <row<w:r="1"p:spr>> spans="1:2" x14ac:dyDescent="0.25"> • 17.2 and 17.3 (body, paragraphs and runs) <c r="A1"><w:p:nvSpPrt xml:space> ="preserve">This is a run of text. It is part of a paragraph. • SpreadsheetML </w:r<>v>1</v><p:cNvPr id="2" name="Title 1"/> • 12.3.24 (sheet<x>.xml) </w:p</c>> <p:cNvSpPr> • 18.3 (Worksheet elements) <w:p w14:paraId="43453C87"</row> <a:spLocks w14:textId="3F744A5F"noGrp="1"/> w:rsidR="00BD0355" w:rsidRDefault="00BD0355"> • PresentationML <row< w:r="2"r> spans="1:2"</p:cNvSpPr x14ac:dyDescent="0.25">> • 13.3.8 (slide<x>.xml) <c r="A2"><</w:p:nvSpPrt>Here is> another run of text in a new paragraph.</ • 19.3 (slide elements) </w:r<>v>2p:spPr</v>/> • Schemas: </w:p> </c><p:txBody> • Annex A – W3C XML1 </row><a:p> • Annex B – RELAX NG9 <row r="4" spans="1:2"<a:r> x14ac:dyDescent="0.25"> • Primer <c r="B4" t="s"><a:rPr lang="en-US" dirty="0" smtClean • Annex L – detailed intro to the ML’s. Use this! <v>1</v> <a:t>Fancy art from the internet</a:t </c> </a:r> Compatibility in Documents Allow consumers to: • Be aware and benefit from the new features. • Be unaware and still interoperable • Be unaware and “degrade gracefully” Attributes: • mc:Ignorable – allows consumer to ignore whole namespace • mc:ProcessContent – consumer process ignorable element contents as if in outer element. • mc:MustUnderstand – consumer throws error before processing any misunderstood ns elements Elements: • mc:AlternateContent – provides choices and fallback content • mc:Choice/mc:Fallback Supporting Open Specifications • [MS-OI29500] • Notes for Microsoft Office products implementing ISO/IEC 29500 • [MS-ODRAWXML] • [MS-DOCX] • [MS-XLSX] • [MS-PPTX] • Extensions to the DrawingML, WordprocessingML, SpreadsheetML and PresentationML standard elements defined in ISO/IEC 29500 • See reference note for URL to MSDN page for these.10 Programming the Document Format (OpenXML SDK) • SDK Classes • Open XML SDK on Github • Scenarios • Demo DocumentFormat.OpenXml.dll SDK Classes OOXMLSDK API Framework Schema Semantic Part API DOM API API validation validation SDK Class generation process 1. Generate 5. Generate 6. Generate 2. Build 4. Generate 7. Build OpenXmlPart 3. Process Schema Semantic Framework DOM API OOXMLSDK API Source Schema Files Validation Validation API Source Code DLL Code Data Data Open XML SDK on Github Github Fork, build, modify Nuget package Release and latest builds Issues Report bugs Contribution Enhancements, fixes Scenarios Generation Extraction Transform WordprocessingML SpreadsheetML PresentationML Building a C# Solution to Generate a .docx Document Demonstration Tools Open XML Package Editor for Visual Studio: https://github.com/OfficeDev/Open-XML-Package-Editor-Power-Tool- for-Visual-Studio OOXML Tools Extension for Chrome (search and install in Chrome) Open XML SDK Productivity Tool (search “open xml sdk 2.5”, click download, OpenXMLSDKToolV25.msi) Support & Resources SDK Open XML SDK: https://github.com/OfficeDev/Open-Xml-Sdk OpenXMLDeveloper: http://www.openxmldeveloper.org libopc: http://libopc.codeplex.com (third-party open source OOXML library) Open Specifications [email protected] https://social.msdn.microsoft.com/Forums/en- US/home?category=openspecifications Thank you Office 365 DevDays.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    22 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us