<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://openxmldeveloper.org/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 : WordProcessingML</title><link>http://openxmldeveloper.org/archive/category/1003.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.org/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.org/comments/4060.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=4060" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1014.aspx">DrawingML</category></item><item><title>Open XML SDK V2 CTP available</title><link>http://openxmldeveloper.org/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.org/comments/3702.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=3702" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1014.aspx">DrawingML</category></item><item><title>Microsoft announces Open XML SDK roadmap</title><link>http://openxmldeveloper.org/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.org/comments/2868.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=2868" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1014.aspx">DrawingML</category></item><item><title>Release of Open XML to Daisy translator </title><link>http://openxmldeveloper.org/archive/2008/01/28/2675.aspx</link><pubDate>Tue, 29 Jan 2008 03:23:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:2675</guid><dc:creator>Sheela E N</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.org/comments/2675.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/commentrss.aspx?PostID=2675</wfw:commentRss><description>&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Open XML to Daisy translator&amp;nbsp;(Office Open XML WordProcessingML document to Daisy DTBook document)&amp;nbsp;V1 Alpha is now available at &lt;A title=blocked::http://sourceforge.net/projects/openxml-daisy/ href="http://sourceforge.net/projects/openxml-daisy/"&gt;&lt;FONT color=#800080&gt;http://sourceforge.net/projects/openxml-daisy/&lt;/FONT&gt;&lt;/A&gt; for download.&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;This release has covered 13 important features of Daisy. To know more&amp;nbsp;about this release, refer&amp;nbsp;this link&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;A title="blocked::http://blogs.technet.com/reedblog/archive/2008/01/25/open-xml-to-daisy-v1-is-live.aspx&amp;#10;http://blogs.technet.com/reedblog/archive/2008/01/25/open-xml-to-daisy-v1-is-live.aspx" href="http://blogs.technet.com/reedblog/archive/2008/01/25/open-xml-to-daisy-v1-is-live.aspx"&gt;&lt;SPAN&gt;http://blogs.technet.com/reedblog/archive/2008/01/25/open-xml-to-daisy-v1-is-live.aspx&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=2675" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category></item><item><title>Open XML to Daisy Translator</title><link>http://openxmldeveloper.org/archive/2007/12/09/2484.aspx</link><pubDate>Mon, 10 Dec 2007 03:15:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:2484</guid><dc:creator>Sheela E N</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.org/comments/2484.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/commentrss.aspx?PostID=2484</wfw:commentRss><description>&lt;P&gt;Sonata Software Limited based out of Bangalooru, India, in collaboration with Microsoft and the Daisy Consortium, is developing an open source converter to convert Word documents to Daisy DTBook documents.&amp;nbsp; Please find the press release of the same at &lt;A href="http://openxml-daisy.wiki.sourceforge.net/"&gt;http://openxml-daisy.wiki.sourceforge.net/&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Keep looking to the &lt;A href="http://www.openxmldeveloper.org/"&gt;Open XML Developer web site&lt;/A&gt; for more information and project updates.&lt;/P&gt;&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=2484" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category></item><item><title>Developer workshop videos</title><link>http://openxmldeveloper.org/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.org/comments/2066.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=2066" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1014.aspx">DrawingML</category></item><item><title>UPDATED: Accessibility of Open XML</title><link>http://openxmldeveloper.org/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.org/comments/1718.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/archive/2007/07/02/Accessibility_of_Open_XML.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=1718" width="1" height="1"&gt;</description><enclosure url="http://openxmldeveloper.org/attachment/1718.ashx" length="1738100" type="application/x-zip-compressed" /><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1010.aspx">Other</category><category domain="http://openxmldeveloper.org/archive/category/1014.aspx">DrawingML</category></item><item><title>Open XML development videos</title><link>http://openxmldeveloper.org/archive/2007/03/19/1334.aspx</link><pubDate>Mon, 19 Mar 2007 19:14:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:1334</guid><dc:creator>dmahugh</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.org/comments/1334.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/commentrss.aspx?PostID=1334</wfw:commentRss><description>&lt;P&gt;Several of the most active contributors to OpenXmlDeveloper were in Redmond last week for the MVP Summit and an Open XML workshop, so Doug Mahugh interviewed them on some Open XML development topics. The videos are up on Channel 9 at the links included below.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=292715"&gt;Open-source Open XML API for Java&lt;/A&gt;&lt;BR&gt;Julien Chable demonstrates his OPENXML4J project, which is a continuation of the work described in his article on OpenXmlDeveloper &lt;A HREF="/articles/OpenXMLandJava.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=292735"&gt;Package Explorer for Open XML&lt;/A&gt;&lt;BR&gt;Wouter Van Vugt talks about the latest release of his Package Explorer tool, which was originally covered on OpenXmlDeveloper &lt;A HREF="/articles/261.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/ShowPost.aspx?PostID=292752"&gt;Linux/Java interoperability with Open XML&lt;/A&gt;&lt;BR&gt;Sanjay Kumar and Datta Kulkarni of Sonata Software describe how Open XML can be used from a Linux environment, building on the techniques covered on OpenXmlDeveloper &lt;A HREF="/articles/JavaWordProcessingML.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=1334" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1008.aspx">Java</category></item><item><title>Generating Dynamic OpenXML Docx Files</title><link>http://openxmldeveloper.org/archive/2007/03/07/1302.aspx</link><pubDate>Wed, 07 Mar 2007 20:08:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:1302</guid><dc:creator>dmahugh</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.org/comments/1302.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/commentrss.aspx?PostID=1302</wfw:commentRss><description>&lt;P&gt;Mohammad Nour El-din Marwan of Cairo University's Computer Engineering Department has posted a &lt;A href="http://mnour.blogspot.com/2007/02/creating-dynamic-docx-files.html"&gt;detailed how-to article&lt;/A&gt; that covers the design of a set of classes for working with Open XML documents. His approach reflects a common business need: set up a standardized look and feel in a template, which can be used as a starting point for generating dynamic data-driven documents that all share common formatting characteristics.&lt;/P&gt;
&lt;P&gt;The article includes many diagrams that clearly explain the architecture used. Definitely worth a look if you're designing software to generate dynamic Open XML documents.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://mnour.blogspot.com/2007/02/creating-dynamic-docx-files.html"&gt;... more information ...&lt;/A&gt;&lt;/P&gt;&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=1302" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>MSDN Articles on Open XML and Related Topics</title><link>http://openxmldeveloper.org/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.org/comments/599.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=599" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1010.aspx">Other</category><category domain="http://openxmldeveloper.org/archive/category/1013.aspx">Windows (Win32, VB6, VFP, other)</category></item><item><title>Adding Header - Footer to any WordprocessingML</title><link>http://openxmldeveloper.org/archive/2006/08/03/443.aspx</link><pubDate>Thu, 03 Aug 2006 09:36:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:443</guid><dc:creator>SanjayKumarM</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.org/comments/443.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/commentrss.aspx?PostID=443</wfw:commentRss><description>&lt;P&gt;Author: Vijayeta Tilak, Sonata Software Limited&lt;/P&gt;
&lt;P&gt;This article describes how a footer or header can be programmatically added to a word document from a .NET application using the System.IO.Packaging API.&lt;/P&gt;
&lt;P&gt;A WordprocessingML document may contain a part named footerX.xml, which holds the footer text and the page number. This part is included in the document by a footer reference tag that includes a relationship to the footer part from within the document.xml "start part" as shown here:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;w:sectPr w:rsidR&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;00A352BA&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;"&amp;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;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&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;lt;&lt;/SPAN&gt;&lt;SPAN&gt;w:pgSz&lt;/SPAN&gt; &lt;SPAN&gt;w:w&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;12240&lt;/B&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; w:h&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;15840&lt;/B&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&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;B&gt;&lt;SPAN&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN&gt;w:footerReference&lt;/SPAN&gt; &lt;SPAN&gt;w:type&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;SPAN&gt;default&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; r:id&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;SPAN&gt;rId8&lt;/SPAN&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/B&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&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;lt;&lt;/SPAN&gt;&lt;SPAN&gt;w:pgMar&lt;/SPAN&gt; &lt;SPAN&gt;w:top&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;1440&lt;/B&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; w:right&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;1440&lt;/B&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; w:bottom&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;1440&lt;/B&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; w:left&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;1440&lt;/B&gt;&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;&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;w:header&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;720&lt;/B&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; w:footer&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;720&lt;/B&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt; w:gutter&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;0&lt;/B&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&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;lt;&lt;/SPAN&gt;&lt;SPAN&gt;w:cols&lt;/SPAN&gt; &lt;SPAN&gt;w:space&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;720&lt;/B&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&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;lt;&lt;/SPAN&gt;&lt;SPAN&gt;w:docGrid&lt;/SPAN&gt; &lt;SPAN&gt;w:linePitch&lt;/SPAN&gt;&lt;SPAN&gt;="&lt;/SPAN&gt;&lt;B&gt;360&lt;/B&gt;&lt;SPAN&gt;" /&amp;gt;&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt; &lt;SPAN&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN&gt;w:sectPr&lt;/SPAN&gt;&lt;SPAN&gt;&amp;gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;The relationship ID must be unique within the document.&lt;/P&gt;
&lt;P&gt;The footerX.xml part has a node that specifies the style to be used to format the footer:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;FONT face=Arial color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;SPAN&gt;&lt;FONT color=#990000&gt;w:pStyle&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;w:val&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;Footer&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;A content type for the footer must also be included in the package, as shown here:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;SPAN&gt;&lt;FONT color=#990000&gt;Override&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;PartName&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;/word/footer1.xml&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; ContentType&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;A part relationship must also be created, using the same relationship ID as was used in Document.xml:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;FONT color=#0000ff&gt;&amp;lt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;SPAN&gt;&lt;FONT color=#990000&gt;Relationship&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt;Type&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; Target&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;/word/footer1.xml&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;"&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=t1&gt;&lt;FONT color=#990000&gt; Id&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;="&lt;/FONT&gt;&lt;/SPAN&gt;&lt;B&gt;rId8&lt;/B&gt;&lt;SPAN class=m1&gt;&lt;FONT color=#0000ff&gt;" /&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;FONT face=Arial&gt;The UI would consist of a single text box accepting the footer text from the user, which would be included the document the user selects.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;FONT face=Arial&gt;Programmatically, a footer file is created with the text the user had keyed in.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;A part of code&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;SPAN&gt;(from &lt;/SPAN&gt;&lt;/FONT&gt;&lt;A HREF="/archive/2006/06/17/297.aspx"&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face=Arial&gt;.NET Code Snippets for Open XML Developers&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;FONT face=Arial&gt;) would then open the package and include the footer file, create Part Relationship.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;FONT face=Arial&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;public&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;void&lt;/SPAN&gt; WDAddHeaderFooter(&lt;SPAN&gt;string&lt;/SPAN&gt; docName, &lt;SPAN&gt;XmlDocument&lt;/SPAN&gt; Doc,&lt;SPAN&gt;bool&lt;/SPAN&gt; h)&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; &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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Given a document name, and a XML document&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &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;&lt;/SPAN&gt;&lt;SPAN&gt;const&lt;/SPAN&gt; &lt;SPAN&gt;string&lt;/SPAN&gt; documentRelationshipType=&lt;SPAN&gt;"http://schemas.openxmlformats.org /officeDocument/2006/ relationships/officeDocument"&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;const&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;string&lt;/SPAN&gt; wordmlNamespace = &lt;SPAN&gt;"http://schemas.openxmlformats.org /wordprocessingml/2006/3/main"&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; &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;const&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;string&lt;/SPAN&gt; relationshipNamespace =&lt;SPAN&gt;"http://schemas.openxmlformats.org /officeDocument/2006/relationships"&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; &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; &lt;/SPAN&gt;&lt;SPAN&gt;PackagePart&lt;/SPAN&gt; documentPart = &lt;SPAN&gt;null&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; &lt;/SPAN&gt;&lt;SPAN&gt;Uri&lt;/SPAN&gt; uriHeaderFooter;&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; &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; headerfooterContentType;&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; &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; relationshipType;&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; &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; reference;&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;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; &lt;/SPAN&gt;package = &lt;SPAN&gt;Package&lt;/SPAN&gt;.Open(docName, &lt;SPAN&gt;FileMode&lt;/SPAN&gt;.Open, &lt;SPAN&gt;FileAccess&lt;/SPAN&gt;.ReadWrite);&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;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Get the main document part (document.xml).&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;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;foreach&lt;/SPAN&gt;&lt;SPAN&gt; (System.IO.Packaging.&lt;SPAN&gt;PackageRelationship&lt;/SPAN&gt; relationship &lt;SPAN&gt;in&lt;/SPAN&gt; package. GetRelationshipsByType(documentRelationshipType))&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; &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;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Uri&lt;/SPAN&gt;&lt;SPAN&gt; documentUri = &lt;SPAN&gt;PackUriHelper&lt;/SPAN&gt;.ResolvePartUri(&lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;Uri&lt;/SPAN&gt;(&lt;SPAN&gt;"/"&lt;/SPAN&gt;, &lt;SPAN&gt;UriKind&lt;/SPAN&gt;.Relative), relationship.TargetUri);&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; &lt;/SPAN&gt;documentPart = package.GetPart(documentUri);&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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;There is only one document.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;break&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;&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; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (h)&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;{&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; &lt;/SPAN&gt;uriHeaderFooter = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;Uri&lt;/SPAN&gt;(&lt;SPAN&gt;"/word/header2.xml"&lt;/SPAN&gt;, &lt;SPAN&gt;UriKind&lt;/SPAN&gt;.Relative);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;headerfooterContentType=&lt;SPAN&gt;"application/vnd.openxmlformats-officedocument. wordprocessingml.header+xml"&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;relationshipType = &lt;SPAN&gt;"http://schemas.openxmlformats.org/ officeDocument/2006/relationships/header"&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; &lt;/SPAN&gt;reference = &lt;SPAN&gt;"w:headerReference"&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; &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;else&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; &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; &lt;/SPAN&gt;uriHeaderFooter = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;Uri&lt;/SPAN&gt;(&lt;SPAN&gt;"/word/footer2.xml"&lt;/SPAN&gt;, &lt;SPAN&gt;UriKind&lt;/SPAN&gt;.Relative);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;headerfooterContentType = &lt;SPAN&gt;"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"&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;relationshipType = &lt;SPAN&gt;"http://schemas.openxmlformats.org/officeDocument/ 2006/relationships/footer"&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; &lt;/SPAN&gt;reference = &lt;SPAN&gt;"w:footerReference"&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; &lt;/SPAN&gt;&lt;SPAN&gt;&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; &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;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (package.PartExists(uriHeaderFooter))&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;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;&amp;nbsp; &lt;/SPAN&gt;Although you could delete the relationship&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;to the existing node, the next time you save&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;the document after making changes, Word&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;will take care of this for you.&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;&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; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;package.DeletePart(uriHeaderFooter);&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Create the new footer part:&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;PackagePart&lt;/SPAN&gt;&lt;SPAN&gt; headerfooterPart =package.CreatePart(uriHeaderFooter, headerfooterContentType);&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;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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Write the footer out to its part.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Doc.Save(headerfooterPart.GetStream());&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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Create the document's relationship to the new part:&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;PackageRelationship&lt;/SPAN&gt;&lt;SPAN&gt; rel = documentPart.CreateRelationship(uriHeaderFooter, &lt;SPAN&gt;TargetMode&lt;/SPAN&gt;.Internal, relationshipType);&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; &lt;/SPAN&gt;&lt;SPAN&gt;string&lt;/SPAN&gt; relID = rel.Id;&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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Manage namespaces to perform Xml XPath queries.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;NameTable&lt;/SPAN&gt; nt = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;NameTable&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; &lt;/SPAN&gt;&lt;SPAN&gt;XmlNamespaceManager&lt;/SPAN&gt; nsManager = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;XmlNamespaceManager&lt;/SPAN&gt;(nt);&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; &lt;/SPAN&gt;nsManager.AddNamespace(&lt;SPAN&gt;"w"&lt;/SPAN&gt;, wordmlNamespace);&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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Get the document part from the package.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Load the XML in the part into an XmlDocument instance:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;XmlDocument&lt;/SPAN&gt; xdoc = &lt;SPAN&gt;new&lt;/SPAN&gt; &lt;SPAN&gt;XmlDocument&lt;/SPAN&gt;(nt);&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; &lt;/SPAN&gt;xdoc.Load(documentPart.GetStream());&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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Find the node containing the document layout:&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;XmlNode&lt;/SPAN&gt; targetNode = xdoc.SelectSingleNode(&lt;SPAN&gt;"//w:sectPr"&lt;/SPAN&gt;, nsManager);&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; &lt;/SPAN&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; (targetNode != &lt;SPAN&gt;null&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; &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;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Delete any existing references to footers:&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;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;XmlNodeList&lt;/SPAN&gt;&lt;SPAN&gt; headerfooterNodes = targetNode.SelectNodes(&lt;SPAN&gt;"./"&lt;/SPAN&gt;+reference, nsManager);&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;foreach&lt;/SPAN&gt; (System.Xml.&lt;SPAN&gt;XmlNode&lt;/SPAN&gt; headerfooterNode &lt;SPAN&gt;in&lt;/SPAN&gt; headerfooterNodes)&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;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; &lt;/SPAN&gt;targetNode.RemoveChild(headerfooterNode);&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;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; &lt;/SPAN&gt;&lt;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Create the new header reference node:&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;&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;XmlElement&lt;/SPAN&gt; node = xdoc.CreateElement(reference, wordmlNamespace);&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;&lt;/SPAN&gt;&lt;SPAN&gt;XmlAttribute&lt;/SPAN&gt; attr=node.Attributes.Append(xdoc.CreateAttribute(&lt;SPAN&gt;"r:id" &lt;/SPAN&gt;,relationshipNamespace));&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;attr.Value = relID;&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;node.Attributes.Append(attr);&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;targetNode.InsertBefore(node, targetNode.FirstChild);&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;&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;SPAN&gt;//&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Save the document XML back to its part.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;xdoc.Save(documentPart.GetStream(&lt;SPAN&gt;FileMode&lt;/SPAN&gt;.Create, &lt;SPAN&gt;FileAccess&lt;/SPAN&gt;.Write));&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;package.Close();&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; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN class=m1&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=443" width="1" height="1"&gt;</description><enclosure url="http://openxmldeveloper.org/attachment/443.ashx" length="42982" type="application/x-zip-compressed" /><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item><item><title>Office 2007 Beta 2: now available</title><link>http://openxmldeveloper.org/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.org/comments/242.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=242" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/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.org/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.org/comments/240.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=240" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category></item><item><title>Two New Articles</title><link>http://openxmldeveloper.org/archive/2006/04/12/TwoNewArticles041206.aspx</link><pubDate>Wed, 12 Apr 2006 21:09:00 GMT</pubDate><guid isPermaLink="false">1ff61f26-0981-41c7-ad52-ff725e9b1da8:156</guid><dc:creator>dmahugh</dc:creator><slash:comments>0</slash:comments><comments>http://openxmldeveloper.org/comments/156.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/commentrss.aspx?PostID=156</wfw:commentRss><description>&lt;P&gt;We have two new articles on the site today, both from Sanjay Kumar Madhva. Each covers a slightly different task related to Open XML programming, and each is implemented on a different development platform.&lt;/P&gt;
&lt;P&gt;&lt;A HREF="/articles/ImageConversion.aspx"&gt;"Open XML Document Image Conversion"&lt;/A&gt; is the 3rd article in Sanjay's series on working with Open XML Formats in Java. It shows how to extract a large BMP image from a word processing document, convert it to a smaller PNG, and replace the larger image with the smaller one.&lt;/P&gt;
&lt;P&gt;The original intent of this article was to demonstrate a technique for compressing a large document that is bloated with embedded BMPs, but to Sanjay's surprise he found that the ZIP compression of a typical BMP screen shot in an Open XML package is so good that there's not really any room for improvement via this technique. Nonetheless, this article is a good example of how to replace embedded media in an Open XML document for those working in Java environments.&lt;/P&gt;
&lt;P&gt;The second article, "&lt;A HREF="/articles/OpenXMLDocFromDotNet.aspx"&gt;Creating an Open XML Document in .NET&lt;/A&gt;," takes a look at how to write user-entered text into a newly created Open XML document. It's a very simple starting point for such applications, showing the basics of how to generate an Open XML document from scratch using the new WinFX packaging API. Logical future extensions to this application would include using an RTF control and capturing more complex formatting, and implementing the same concepts in a web application.&lt;/P&gt;&lt;img src="http://openxmldeveloper.org/aggbug.aspx?PostID=156" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category><category domain="http://openxmldeveloper.org/archive/category/1008.aspx">Java</category></item><item><title>Office Devcon and Open XML Formats</title><link>http://openxmldeveloper.org/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.org/comments/78.aspx</comments><wfw:commentRss>http://openxmldeveloper.org/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.org/aggbug.aspx?PostID=78" width="1" height="1"&gt;</description><category domain="http://openxmldeveloper.org/archive/category/1002.aspx">Open Packaging Convention</category><category domain="http://openxmldeveloper.org/archive/category/1003.aspx">WordProcessingML</category><category domain="http://openxmldeveloper.org/archive/category/1004.aspx">SpreadsheetML</category><category domain="http://openxmldeveloper.org/archive/category/1005.aspx">PresentationML</category><category domain="http://openxmldeveloper.org/archive/category/1007.aspx">.NET (C#, VB, J#, C++/CLI)</category></item></channel></rss>