<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://openxmldeveloper.com/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>OpenXML Developer : PresentationML</title><link>http://openxmldeveloper.com/archive/category/1005.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.0 (Build: 60526.2668)</generator><item><title>ECMA-376 and ODF1.1 Implementer notes for Office 2007 SP2 released</title><link>http://openxmldeveloper.com/archive/2009/02/11/4060.aspx</link><pubDate>Wed, 11 Feb 2009 19:23:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:4060</guid><dc:creator>jenw</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/4060.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=4060</wfw:commentRss><description>&lt;P&gt;You may have seen that the implementer notes for Office 2007 SP2 for ECMA-376 and ODF1.1 are now available.&lt;/P&gt;
&lt;P&gt;
&lt;TABLE class=MsoNormalTable cellSpacing=0 cellPadding=0&gt;

&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;ECMA-376 Implementer Notes for Office 2007 SP2&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;On the ECMA-376&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.documentinteropinitiative.org/ECMA-376/reference.aspx"&gt;&lt;FONT color=#000000&gt;Implementer Notes Site&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt;&amp;nbsp;you will find detailed information about Office’s support for the &lt;/FONT&gt;&lt;A href="http://www.ecma-international.org/publications/standards/Ecma-376.htm"&gt;&lt;FONT color=#000000&gt;ECMA-376 specification&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt;.&amp;nbsp; These notes will help ECMA-376 implementers interoperate with Office by explaining, among other things, Office’s support for optional features, range restrictions for attribute values, and how Office’s functionality maps to Open XML constructs.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;ODF 1.1 Implementer Notes for Office 2007 SP2&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT color=#000000&gt;On the&amp;nbsp;Open Document Format (ODF) &lt;/FONT&gt;&lt;A title="OASIS ODF 1.1" href="http://www.documentinteropinitiative.org/OASISODF1.1/reference.aspx"&gt;&lt;FONT color=#000000&gt;implementer notes site&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt; you will find detailed information about Office’s support for each section of the &lt;/FONT&gt;&lt;A href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office#odf11"&gt;&lt;FONT color=#000000&gt;OASIS ODF 1.1 specification&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt;. These notes will help promote interoperability by providing details that others can use as reference points for their own applications. For example, they include information about which attributes and elements are supported, as well as details about how Office functionality maps to specific constructs in the ODF specification. For a higher-level overview of Microsoft’s general approach to ODF implementation, see &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/dmahugh/archive/2008/08/05/guiding-principles-for-office-s-odf-implementation.aspx"&gt;&lt;FONT color=#000000&gt;Guiding Principles for Office’s ODF Implementation&lt;/FONT&gt;&lt;/A&gt;&lt;FONT color=#000000&gt;. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=4060" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.com/archive/category/1014.aspx">DrawingML</category></item><item><title>Open XML SDK V2 CTP available</title><link>http://openxmldeveloper.com/archive/2008/09/16/3702.aspx</link><pubDate>Tue, 16 Sep 2008 19:27:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:3702</guid><dc:creator>ecullins</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/3702.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=3702</wfw:commentRss><description>&lt;P&gt;&lt;B&gt;Open XML SDK V2.&lt;/B&gt; The first CTP of V2 of the Open XML SDK is &lt;A href="http://go.microsoft.com/fwlink/?LinkId=127912"&gt;now available&lt;/A&gt; for download.
&lt;P&gt;This release includes a high-level DOM (document object model) for Open XML development, as well as several tools to streamline Open XML development: 
&lt;UL&gt;
&lt;LI&gt;The &lt;B&gt;OpenXmlDiff&lt;/B&gt; utility identifies differences in the markup in two Open XML documents. 
&lt;LI&gt;The &lt;B&gt;Open XML Class Explorer&lt;/B&gt; helps you determine which strongly typed class to use for a specific task, and includes the text of the relevant section of the ECMA-376 spec for each class. 
&lt;LI&gt;The &lt;B&gt;Open XML Document Reflector&lt;/B&gt; takes a target document as input, and with a few clicks it shows you the C# code needed to generate that document (or a section of it) with the Open XML SDK.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/ericwhite/archive/2008/09/06/announcing-the-first-ctp-of-open-xml-sdk-v2.aspx"&gt;See Eric White's blog post for&amp;nbsp;more details&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=3702" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.com/archive/category/1014.aspx">DrawingML</category></item><item><title>Microsoft announces Open XML SDK roadmap</title><link>http://openxmldeveloper.com/archive/2008/03/13/OpenXMLSDK.aspx</link><pubDate>Thu, 13 Mar 2008 20:08:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:2868</guid><dc:creator>dmahugh</dc:creator><slash:comments>3</slash:comments><comments>http://openxmldeveloper.com/comments/2868.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=2868</wfw:commentRss><description>&lt;P&gt;Microsoft unveiled today the roadmap for the Open XML SDK that was released last June as a CTP (Community Technology Preview) version. After collecting developer feedback through the CTP release, they've put together a two-phased release plan to get developers a released version of the API quickly (May of this year) and then build on that with additional functionality for a final version in the Office 14 timeframe. &lt;/P&gt;
&lt;P&gt;Links to resources for this article: 
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb448854.aspx"&gt;Open XML SDK download page&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb491088.aspx"&gt;"How To ..." articles for the SDK on MSDN&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://www.youtube.com/watch?v=t_FYHd234ng"&gt;Video interview with Zeyad Rajabi and Eric White&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/ericwhite/archive/2008/03/14/technical-improvements-in-the-open-xml-sdk.aspx"&gt;Eric White's blog&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/dmahugh"&gt;Doug Mahugh's blog&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="Open XML SDK roadmap: timeline" hspace=0 src="http://www.mahugh.com/images/blog/2008/03/13/timeline.png" border=0&gt; &lt;/P&gt;
&lt;P&gt;The Open XML API will be released in two versions. Version 1.0 will include an updated version of the CTP that was released in June 2007, to be released in April 2008 with a final release of Version 1.0 in May 2008. Version 2.0 will be available as a CTP version this summer, and the final release will be part of the Office 14 wave of products and technologies. (Office "14" is the next major release of Microsoft Office.) &lt;/P&gt;
&lt;P&gt;Both versions will be free downloads on MSDN, available at the &lt;A href="http://msdn2.microsoft.com/en-us/library/bb448854.aspx"&gt;Open XML SDK page&lt;/A&gt;. Version 1.0 will include the following functionality: 
&lt;UL&gt;
&lt;LI&gt;Strongly typed access to parts within Open XML documents (a few typical examples: classes for the main body part or style part of a word-processing document, the workbook and worksheet parts in a spreadsheet document, or the presentation and slide parts in a presentation document) 
&lt;LI&gt;Simple access to the parts within an Open XML document, relative to other existing APIs (example: one line of code to retrieve or replace a part) 
&lt;LI&gt;“Linq-friendly” annotation capabilities, to allow developers to use the SDK with emerging Linq to XML technology (&lt;A href="http://blogs.msdn.com/ericwhite/archive/2008/03/14/technical-improvements-in-the-open-xml-sdk.aspx"&gt;Eric White's blog&lt;/A&gt; has a code sample demonstrating this capability) 
&lt;LI&gt;Consistency and naming changes per feedback from the developer community since the June 2007 CTP version, including adherence to .NET naming conventions 
&lt;LI&gt;The May 2008 RTW (released to web) version will be ready to go live, and developers can build shipping products on it&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Version 2.0 will add the following capabilities: 
&lt;UL&gt;
&lt;LI&gt;Content object model including additional classes and methods for simplifying developer work within parts (example: methods for retrieving or modifying a specific paragraph, style, cell, or shape within a part) 
&lt;LI&gt;Search functionality, for simple searching of content in all document types 
&lt;LI&gt;Validation functionality, to verify that modified or created documents are compliant with the Open XML standard 
&lt;LI&gt;High-level “scenario-based” functionality (examples: creating a document from a template, accepting all revisions in a document) 
&lt;LI&gt;Shared ML functionality (example: classes for DrawingML chart parts and other parts that can appear in multiple document types)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;The functionality in this roadmap was driven by feedback received from developers since the CTP release last June. A recurring theme was that developers want more tools to help edit and manipulate the underlying XML within the parts, and this is reflected in new methods that will be included in the content object model, as well as Linq-related changes as mentioned above. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.youtube.com/watch?v=t_FYHd234ng"&gt;&lt;IMG alt="" hspace=10 src="http://www.mahugh.com/images/blog/2008/03/13/zeyad.jpg" align=right border=0&gt;&lt;/A&gt; For more detailed information about what's coming in the Open XML SDK, see Jean-Christophe Cimetiere's &lt;A href="http://www.youtube.com/watch?v=t_FYHd234ng"&gt;video interview with Zeyad Rajabi and Eric White&lt;/A&gt; where they discuss the changes in the SDK and show some of the details of how it will work. &lt;/P&gt;
&lt;P&gt;To download the latest version of the SDK or for links to more information, see the &lt;A href="http://msdn2.microsoft.com/en-us/library/bb448854.aspx"&gt;Open XML SDK page&lt;/A&gt; on MSDN. &lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=2868" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.com/archive/category/1014.aspx">DrawingML</category></item><item><title>Developer workshop videos</title><link>http://openxmldeveloper.com/archive/2007/08/29/2066.aspx</link><pubDate>Wed, 29 Aug 2007 16:04:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:2066</guid><dc:creator>dmahugh</dc:creator><slash:comments>1</slash:comments><comments>http://openxmldeveloper.com/comments/2066.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=2066</wfw:commentRss><description>&lt;P&gt;MSDN has published a comprehensive set of &lt;A href="http://msdn2.microsoft.com/en-us/office/bb738430.aspx"&gt;videos of a 2-day Open XML developer workshop&lt;/A&gt;. These videos cover the content that was posted on OpenXMLDeveloper recently &lt;A HREF="/articles/DeveloperWorkshopContent.aspx"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;The instructors for this workshop were Doug Mahugh of Microsoft and Chris Predeek of the &lt;A href="http://www.tedpattison.net/"&gt;Ted Pattison Group&lt;/A&gt;, and the workshop was sponsored by &lt;A href="http://www.mindjet.com/"&gt;Mindjet&lt;/A&gt; and took place at their office in San Francisco on June 18-19, 2007. &lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=2066" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.com/archive/category/1014.aspx">DrawingML</category></item><item><title>UPDATED: Accessibility of Open XML</title><link>http://openxmldeveloper.com/archive/2007/07/02/Accessibility_of_Open_XML.aspx</link><pubDate>Mon, 02 Jul 2007 13:37:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:1718</guid><dc:creator>Gray_Knowlton</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/1718.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=1718</wfw:commentRss><description>Open XML Formats support accessibility in a number of ways. In explaining this support to its customers, partners and assistive technology vendors, Microsoft has created a preliminary draft report describing how Open XML compares to W3C Web Content Accessibility Guidelines and W3C XML Accessibility guidelines....(&lt;a href="http://openxmldeveloper.com/archive/2007/07/02/Accessibility_of_Open_XML.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=1718" width="1" height="1"&gt;</description><enclosure url="http://openxmldeveloper.com/attachment/1718.ashx" length="1738100" type="application/x-zip-compressed" /><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1010.aspx">Other</category><category domain="http://openxmldeveloper.com/archive/category/1014.aspx">DrawingML</category></item><item><title>MSDN Articles on Open XML and Related Topics</title><link>http://openxmldeveloper.com/archive/2006/08/31/599.aspx</link><pubDate>Thu, 31 Aug 2006 19:32:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:599</guid><dc:creator>dmahugh</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/599.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=599</wfw:commentRss><description>&lt;P&gt;The 2007 Microsoft Office system will use the Open XML file formats as their default format, and Microsoft has started to publish white papers, code samples, and other Open XML content for developers.&lt;/P&gt;
&lt;P&gt;The following is an overview of some of the Open XML information that is currently available on MSDN, including general XML resources, information about Open XML development, and documentation of Microsoft schemas that can be used with Open XML due to its flexible support for custom schemas.&amp;nbsp; Watch for more of this type of content in the months ahead.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms771890.aspx"&gt;Walkthrough: Word 2007 XML Format&lt;/A&gt;. This article by Erika Ehrli covers the basics of the packaging convention and then gets into the details of how Word uses Open XML: which parts are included and how they're related, how the custom XML data store works, and an example of how to create a typical WordprocessingML document. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=15805380-f2c0-4b80-9ad1-2cb0c300aef9&amp;amp;displaylang=en"&gt;2007 Office System: XML Schema Reference&lt;/A&gt;. Documentation in CHM and HTML format for the schemas used in the 2007 Microsoft Office system, including schemas that are not part of the Open XML specification (as used in Outlook 2007, OneNote 2007, and Visio 2007). &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=8d46c01f-e3f6-4069-869d-90b8b096b556&amp;amp;displaylang=en"&gt;2007 Office System Sample: Open XML File Format Code Snippets for Visual Studio 2005&lt;/A&gt;. These are the snippets that were covered on OpenXmlDeveloper.org &lt;A HREF="/articles/VS_code_snippets.aspx"&gt;here&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/xmlteam/"&gt;Microsoft XML Team's WebLog&lt;/A&gt;. Microsoft's XML team covers a variety of XML topics. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://go.microsoft.com/fwlink/?LinkId=72040"&gt;Introducing the Office (2007) Open XML File Formats&lt;/A&gt;. Frank Rice reviews some of the most common Open XML development scenarios, and describes the benefits of Open XML in plain English. He also covers the various file formats supported by Office, how to implement Office's CustomUI functionality, and related topics. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/office/preview/itpro/filefaq.mspx"&gt;Microsoft Office Open XML Formats Frequently Asked Questions&lt;/A&gt;. Answers to dozens of questions about Open XML and how it has been implemented in the 2007 Microsoft Office system. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/office/xml/"&gt;XML in Office Developer Portal&lt;/A&gt;. A portal that aggregates many online resources for developers working with XML in Office, including both Open XML resources and other types of XML resources. &lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=599" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.com/archive/category/1010.aspx">Other</category><category domain="http://openxmldeveloper.com/archive/category/1013.aspx">Windows (Win32, VB6, VFP, other)</category></item><item><title>Creating a PresentationML Document through a browser interface</title><link>http://openxmldeveloper.com/archive/2006/08/24/559.aspx</link><pubDate>Thu, 24 Aug 2006 10:44:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:559</guid><dc:creator>SanjayKumarM</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/559.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=559</wfw:commentRss><description>&lt;P&gt;&lt;I&gt;Article by: MuthuKumar Arjunan and Vijayeta of Sonata Software Ltd.&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;This article explores the interoperable potential of the Open XML file formats. We will show how a simple browser on any client machine can create a PresentationML document (PPTX) on a web server. The browser provides the GUI, and the server software uses the .NET 3.0 System.IO.Packaging API to create the document.&lt;/P&gt;
&lt;P&gt;The user can create slides, then drag and position them in his preferred order. Later he can create a downloadable power point file which comprises the slides he created, in the order he has specified.&lt;/P&gt;
&lt;P&gt;The web page consists of text boxes to edit the contents of slide document to be created. When the user drags the slide, the vertical position of the slide is tracked and displayed in the text box on the screen, and another text box keeps the count of slides created.&lt;/P&gt;
&lt;P&gt;The user is also provided with an editable text box to post the URL of the server, as shown:&lt;/P&gt;&lt;A HREF="/photos/sample/picture558.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/558/497x480.aspx" border=0&gt;&lt;/A&gt; 
&lt;P&gt;The controls used here are HTML controls and the events are handled using Java Script.&lt;/P&gt;
&lt;P&gt;The text boxes holding the slide contents can also be docked in the screen. For example, the first text box can be placed after the second text box, and the Presentation Document is created in the same slide order.&lt;/P&gt;
&lt;P&gt;When the user is ready with the data that would form a presentation document,he clicks on the “Create PPT file” button. On-Click of the “Create PPT file”, the slide position, the Title and the SubTitles of each of the slides are sent to the server as an XML document, as shown:&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=1&gt;&lt;PRE&gt;Sending ...
&amp;lt;ROOT&amp;gt;
  &amp;lt;SLIDE Content="Enter the Content for Slide: 1" Header="Enter Slide Header:  1" pos="126" /&amp;gt;
  &amp;lt;SLIDE Content="Enter the Content for Slide: 2" Header="Enter Slide Header: 2" pos="270" /&amp;gt;
&amp;lt;/ROOT&amp;gt;
&lt;/PRE&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;At the server side, the XML document is processed, where in the Header and Content are separately stored and slides are created in the same order as the user wants, using .NET 3.0 System.IO.Packaging API.&lt;/P&gt;
&lt;P&gt;The Presentation Document created is assigned a unique number series as name. The Server in turn returns a hyperlink of the URL from where the document can be downloaded to the local drive. On click of the link, the user is prompted to save it to the disk or open the document.&lt;/P&gt;
&lt;P&gt;See the attached file for complete source code for the sample shown in this article.&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=559" width="1" height="1"&gt;</description><enclosure url="http://openxmldeveloper.com/attachment/559.ashx" length="144862" type="application/x-zip-compressed" /><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>Creating a PresentationML Document from a Database</title><link>http://openxmldeveloper.com/archive/2006/08/01/PresentationMLfromDatabase.aspx</link><pubDate>Tue, 01 Aug 2006 11:48:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:427</guid><dc:creator>SanjayKumarM</dc:creator><slash:comments>8</slash:comments><comments>http://openxmldeveloper.com/comments/427.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=427</wfw:commentRss><description>&lt;P&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Article by: &lt;/STRONG&gt;Vijayeta.t of SONATA SOFTWARE LIMITED&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;This article explains how to fetch data from a database and use that data to create a PresentationML document.&amp;nbsp; Each slide in the presentation consists of a heading and a subtitle, and the data for these textboxes is retrieved from a table in database.&lt;/P&gt;
&lt;P&gt;The attached sample application provides the user with a GUI, wherein the user has the option to choose the slide contents.&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A HREF="/photos/sample/picture425.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/425/375x327.aspx" border=0&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The user can select the database using the textbox provided, which displays the connection string.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The dropdown listbox contains all the topics for which the slides can be generated. On selection of a particular topic, the slide headings for that topic, and a brief data about the particular slide heading is displayed in the list view.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Among the slide headings displayed, user can select the titles required for the presentation document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A HREF="/photos/sample/picture426.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/426/450x391.aspx" border=0&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The presentation document is then generated, where slides would hold the selected headings and corresponding subtitles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Initially the combo box drops down displaying the slides available. When a topic is selected,at the backend all the records corresponding the topic are fetched from the database, i.e. the table containing the Slide Titles and a brief description about the Title, and are mapped to the Listview.&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;string&lt;/SPAN&gt;&lt;SPAN&gt; selectstatement = &lt;SPAN&gt;"select Title,Description from mainTable "&lt;/SPAN&gt; ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;SqlDataAdapter&lt;/SPAN&gt;&lt;SPAN&gt; myAdpt = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;SqlDataAdapter&lt;/SPAN&gt;(selectstatement, conn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;DataSet&lt;/SPAN&gt;&lt;SPAN&gt; ds=&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;DataSet&lt;/SPAN&gt; ();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;myAdpt.Fill(ds, &lt;SPAN&gt;"mainTable"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;table = ds.Tables[&lt;SPAN&gt;"mainTable"&lt;/SPAN&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;// Clear the ListView control&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;listView1.Items.Clear();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;SPAN&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt; table.Rows.Count; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;DataRow&lt;/SPAN&gt; drow = table.Rows[i];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;listView1.GridLines = &lt;SPAN&gt;true&lt;/SPAN&gt;;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;ListViewItem&lt;/SPAN&gt; lvi = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;ListViewItem&lt;/SPAN&gt;(drow[&lt;SPAN&gt;"Title"&lt;/SPAN&gt;].ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;lvi.SubItems .Add (drow [&lt;SPAN&gt;"Description"&lt;/SPAN&gt;].ToString ());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;listView1.Items.Add(lvi);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;On selection of the required titles, all the rows from the table containing the Titles and Subtitles are fetched and a comparison is done between the rows fetched and the items selected in the Listview, hence the slides are generated for the selected titles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;string&lt;/SPAN&gt;&lt;SPAN&gt; selectstatement = &lt;SPAN&gt;"select Title,SubTitle from "&lt;/SPAN&gt; + tableName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;SqlDataAdapter&lt;/SPAN&gt;&lt;SPAN&gt; myAdpt = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;SqlDataAdapter&lt;/SPAN&gt;(selectstatement, conn);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;DataSet&lt;/SPAN&gt;&lt;SPAN&gt; ds = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;DataSet&lt;/SPAN&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;myAdpt.Fill(ds, tableName);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;table = ds.Tables[tableName];&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;for&lt;/SPAN&gt;&lt;SPAN&gt; (&lt;SPAN&gt;int&lt;/SPAN&gt; i = 0; i &amp;lt;table.Rows.Count; i++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;DataRow&lt;/SPAN&gt; drow = table.Rows[i];&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;for&lt;/SPAN&gt; (&lt;SPAN&gt;int&lt;/SPAN&gt; j = 0; j &amp;lt;listView1.SelectedItems.Count; j++)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (listView1.SelectedItems[j].ToString().Remove(0, 15).TrimEnd(&lt;SPAN&gt;'}'&lt;/SPAN&gt;) == (drow[0].ToString()))&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;{&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Heading.Add&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;( drow[0].ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SubTitle.Add&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;( drow[1].ToString());&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;n+=1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;num +=1;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The files such as SlideX.xml that holds the contents of slides and presentation.xml that describes the relationship&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Id of each of the slides, are created programatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Additional xml files in the Presentation document are the standard files such as SlideLayouts, SlideMaster, NotesMaster and Themes.&amp;nbsp; S&lt;/SPAN&gt;&lt;SPAN&gt;ince these files are not created programatically,they are added along with the .exe file, which are then read and packaged to form the presentation package.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;These files could also be created programatically as part of package.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The Application code and table structure required for the application to run is attached.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=427" width="1" height="1"&gt;</description><enclosure url="http://openxmldeveloper.com/attachment/427.ashx" length="47990" type="application/x-zip-compressed" /><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>Creating a PresentationML document with .NET</title><link>http://openxmldeveloper.com/archive/2006/08/01/424.aspx</link><pubDate>Tue, 01 Aug 2006 07:29:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:424</guid><dc:creator>SanjayKumarM</dc:creator><slash:comments>7</slash:comments><comments>http://openxmldeveloper.com/comments/424.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=424</wfw:commentRss><description>&lt;P class=MsoNormal align=center&gt;&lt;B&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;STRONG&gt;Article By : &lt;/STRONG&gt;Vijayeta.t of&amp;nbsp; SONATA SOFTWARE LIMITED&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The objective of this article is to create an OpenXML PresentationML using the .NET 3.0 System.IO.Packaging API.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The user is provided with a GUI to enter the text which would appear in slides. The UI consists of multiline textboxes for the header and the content, where the user can enter text for each slide. The user may also navigate through slides and create multiple slides.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The contents of textboxes are read into xml files slide.xml.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;Contents of slide.xml:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;A HREF="/photos/sample/picture423.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/423/363x480.aspx" border=0&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN&gt;The Slide.xml parts that hold the content of each slide and the presentation.xml part that describes the relationship&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Id of each of the slides, are all created programatically.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;The standard files such as SlideLayouts,SlideMaster,NotesMaster and Themes are added to the ‘bin’ directory of the project,which are read and packaged to form the presentation package.These files can also be created programatically as part of package.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Here is an example of the UI:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A HREF="/photos/sample/picture420.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/420/433x314.aspx" border=0&gt;&lt;/A&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Open file explorer select and double click on the document you just created (assuming you have PowerPoint 2007 installed):&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;A HREF="/photos/sample/picture421.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/421/471x366.aspx" border=0&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;FONT face=Calibri&gt;The presentation is displayed as follows:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;A HREF="/photos/sample/picture420.aspx" target=_blank&gt;&lt;/A&gt;&lt;A HREF="/photos/sample/picture421.aspx" target=_blank&gt;&lt;/A&gt;&lt;A HREF="/photos/sample/picture422.aspx" target=_blank&gt;&lt;IMG src="/photos/sample/images/422/454x339.aspx" border=0&gt;&lt;/A&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=424" width="1" height="1"&gt;</description><enclosure url="http://openxmldeveloper.com/attachment/424.ashx" length="41581" type="application/x-zip-compressed" /><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>Office 2007 Beta 2: now available</title><link>http://openxmldeveloper.com/archive/2006/05/26/242.aspx</link><pubDate>Fri, 26 May 2006 22:31:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:242</guid><dc:creator>dmahugh</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/242.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=242</wfw:commentRss><description>&lt;P&gt;Beta 2 of the 2007 Microsoft Office System was released on May 23. This is a public beta, meaning anyone can download a copy. Now any developer can get their hands on software that generates and consumes Office Open XML documents.&lt;/P&gt;
&lt;P&gt;You can sign up to download the beta at the &lt;A href="http://www.microsoft.com/office/preview/default.mspx"&gt;2007 Microsoft Office system preview site&lt;/A&gt;. If you're writing code that uses the WinFX packaging API to read and write Office Open XML documents, you'll also want to download the &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F51C4D96-9AEA-474F-86D3-172BFA3B828B&amp;amp;displaylang=en"&gt;WinFX February CTP&lt;/A&gt;. For more developer info regarding Beta 2, Jensen Harris has posted a great list of &lt;A href="http://blogs.msdn.com/jensenh/archive/2006/05/24/605678.aspx"&gt;Some of the Best Beta 2 Resources&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=242" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>Ecma Office Open XML File Formats Standard: Intermediate Draft 1.3</title><link>http://openxmldeveloper.com/archive/2006/05/18/EcmaDraft13.aspx</link><pubDate>Thu, 18 May 2006 22:05:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:240</guid><dc:creator>dmahugh</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.com/comments/240.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=240</wfw:commentRss><description>&lt;P&gt;Ecma has published an updated draft of the spec for the Office Open XML Formats Standard. Here's a link to it:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.ecma-international.org/news/TC45_current_work/TC45-2006-50.htm"&gt;http://www.ecma-international.org/news/TC45_current_work/TC45-2006-50.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This is great news for Open XML developers. The updated draft has a lot of great new documentation, covering things in much more depth than the previous draft. And there is a mechanism for providing public feedback, so you can participate in the evolution and definition of the standard even if you're not part of an Ecma member organization.&lt;/P&gt;
&lt;P&gt;Brian Jones has an &lt;A href="http://blogs.msdn.com/brian_jones/archive/2006/05/18/601150.aspx"&gt;overview of the draft&lt;/A&gt; on his blog, and he also went into more detail in &lt;A href="http://blogs.msdn.com/brian_jones/archive/2006/05/24/605461.aspx"&gt;this post&lt;/A&gt;. Doug Mahugh has posted an overview of the document &lt;A href="http://blogs.msdn.com/dmahugh/archive/2006/05/25/DraftSpecTour13.aspx"&gt;here&lt;/A&gt; as well.&lt;/P&gt;
&lt;P&gt;Check out the spec, give Ecma your feedback, and post your questions, comments and observations right here at OpenXmlDeveloper.org.&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=240" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category></item><item><title>Introduction to PresentationML</title><link>http://openxmldeveloper.com/archive/2006/04/12/BrianJonesPresentationML1.aspx</link><pubDate>Wed, 12 Apr 2006 14:14:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:153</guid><dc:creator>dmahugh</dc:creator><slash:comments>1</slash:comments><comments>http://openxmldeveloper.com/comments/153.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=153</wfw:commentRss><description>&lt;P&gt;Brian Jones has posted a great overview of PresentationML on his blog this week. &lt;A href="http://blogs.msdn.com/brian_jones/archive/2006/04/11/573529.aspx"&gt;Click here for all the details.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;In learning about the Open XML formats, you need to learn about the packaging itself, the three main MLs (WordProcessingML, SpreadsheetML, and PresentationML), and the APIs or tools for manipulating all of the above (which may vary depending on your development environment). Brian has covered many of the other details in the past on &lt;A href="http://blogs.msdn.com/brian_jones"&gt;his blog&lt;/A&gt;, but this week's post is the first time that anybody has delved into the architecture of PresentationML and presented it in a simple high-level overview for developers.&lt;/P&gt;
&lt;P&gt;If you missed Brian's presentations at Office Devcon, this is a great chance to see that bizarre graphic he's been using to show the logical structure of an Office Open XML presentation. Looks sort of like the cover of an early-70s Yes album or something. (Sorry, Brian, couldn't resist.) Highly recommended.&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=153" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>Office Devcon and Open XML Formats</title><link>http://openxmldeveloper.com/archive/2006/03/23/78.aspx</link><pubDate>Thu, 23 Mar 2006 22:33:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:78</guid><dc:creator>dmahugh</dc:creator><slash:comments>2</slash:comments><comments>http://openxmldeveloper.com/comments/78.aspx</comments><wfw:commentRss>http://openxmldeveloper.com/commentrss.aspx?PostID=78</wfw:commentRss><description>&lt;P&gt;The Microsoft Office Systems Developer Conference 2007 is wrapping up in the next hour, and it's been a great event for developers working with the Open XML Formats, with lots of learning and networking opportunities for the attendees.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.mahugh.com/openxmldeveloper/devcon.jpg"&gt;&lt;IMG alt="Brian Jones speaking about Open XML Formats at Office Devcon" hspace=12 src="http://www.mahugh.com/openxmldeveloper/devcon2.jpg" align=right border=0&gt;&lt;/A&gt;At the file formats track on Tuesday, Brian Jones spoke to a full house about the history of the formats and some of the key benefits, followed by Tristan Davis covering the schemas and then Kevin Boske on using the WinFX System.IO.Packaging APIs to build solutions around the new formats. One of the interesting moments in Kevin's presentation was when he asked how many of the 400 people in the room had automated the Office clients on a server. Half the hands in the room went up, which was a great testament to the need for a more scalable approach to building server-side solutions that generate well-formed Office documents.&lt;/P&gt;
&lt;P&gt;Other events of interest to Open XML Formats developers included the sessions demonstrating Sharepoint's support for the new Office file formats, and a series of presentations Wednesday afternoon from ISVs who already have running code that supports the new formats and new capabilities of Microsoft Office Sharepoint Server 2007. Stephen Peront, a regular contributor here at OpenXmlDeveloper.org, demonstrated a new version of &lt;A href="http://www.xinn.com/"&gt;XiDocs&lt;/A&gt; that created a Powerpoint PPTX file from dynamic content he entered through web forms, including arbitrarily selected content from a slide library, all running in a browser with no other client-side software installed.&lt;/P&gt;
&lt;P&gt;We're working on getting content from Office Devcon for the site, so sign up for the RSS feeds and watch for new code snippets and utilities in the weeks ahead.&lt;/P&gt;&lt;img src="http://openxmldeveloper.com/aggbug.aspx?PostID=78" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.com/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.com/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.com/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.com/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.com/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item></channel></rss>